Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1301 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Excel: changer nom des onglets avec une liste

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Excel: changer nom des onglets avec une liste

n°2303056
luipo
Posté le 07-07-2017 à 16:35:23  profilanswer
 

Dans mon premier onglet appelé "comptes", j'ai une liste de tous mes comptes, environ 150. Ils sont identifiables par leur numéro. Ex: 102
A partir du 4ème onglet, chaque onglet représente un et un seul compte. (j'ai donc environ 150 onglets).
 
Je souhaite que les noms de tous ces onglets se changent en fonction de la liste présente dans le premier onglet.
 
PS: je suis vraiment nul en macro donc soyez précis svp
 
Merci d'avance

mood
Publicité
Posté le 07-07-2017 à 16:35:23  profilanswer
 

n°2303068
wago
Posté le 07-07-2017 à 21:41:16  profilanswer
 

Comment sont nommé tes feuilles?
 
Parce que le pb dans excel c'est que les adresses des feuilles sont pas forcément dans l'ordre visualisé.
 
Si c'est du type Feuil4, Feuil5... il y a moyen de faire qqc, si non il va falloir faire une genre de table de correspondance
 
Compte    Feuille
1               a
2               e
3               v
...             ...
 
Comme ça après tu fait une boucle while ou for qui renomme chaque feuille selon sa correspondance dans la table.
 
(c'est une idée, je dis pas que c'est la meilleur, mais ça peu faire le job)

n°2303129
luipo
Posté le 10-07-2017 à 08:32:41  profilanswer
 

dans le premier onglet j'ai la table
dans les onglets 3 et 4 j'ai deux tableaux s'appelant charges avec des formules allant chercher des données dans les onglets suivants appelés par le code client. Ex: 102, 235, 18649 etc
 
et je voudrai aussi savoir si une fois la matrice faite je pourrais rajouter une ligne et le nombre d'onglet augmentera
 
Merci d'avance

n°2303869
wago
Posté le 26-07-2017 à 22:50:09  profilanswer
 

luipo a écrit :

dans le premier onglet j'ai la table
dans les onglets 3 et 4 j'ai deux tableaux s'appelant charges avec des formules allant chercher des données dans les onglets suivants appelés par le code client. Ex: 102, 235, 18649 etc
 
et je voudrai aussi savoir si une fois la matrice faite je pourrais rajouter une ligne et le nombre d'onglet augmentera
 
Merci d'avance


 
J'ai fait le code pour renommer selon une table de correspondance les feuilles:

Code :
  1. Sub renommefeuille()
  2. 'Permet de renommer les feuille d'un classeur en fonction d'une table de correspondance
  3. 'A besoin d'une feuille nommée "TAB Correspondance"
  4. 'En colonne A les anciens noms, en B les nouveaux noms
  5. 'La ligne 1 n'est pas traiter pour permettre d'y inserer des titres de colonne EX:ancien / Nouveau
  6. 'Il ne doit pas y avoir d'espace vide entre chaque ligne
  7. 'Déclaration des variables
  8. Dim FeuilleOld As String
  9. Dim FeuilleNew As String
  10. Dim NombreVal As Integer
  11. Dim I As Integer
  12. 'Initialisation des variables
  13. NombreVal = Application.WorksheetFunction.CountA(Worksheets("Tab Correspondance" ).Range("$A:$A" ))
  14. 'Ignore les erreurs pour continuer le renommage
  15. On Error Resume Next
  16. 'boucle sur chaque ligne et renomme la feuille correspondante
  17. For I = 2 To NombreVal
  18.     FeuilleOld = Sheets("Tab Correspondance" ).Cells(I, 1)
  19.     FeuilleNew = Sheets("Tab Correspondance" ).Cells(I, 2)
  20.     Worksheets(FeuilleOld).Name = FeuilleNew
  21. Next I
  22. MsgBox ("Fin du renommage des " & NombreVal - 1 & " feuilles" )
  23. End Sub


 
Ce code ignorera les noms de feuilles mal saisies, et donc les feuilles attendues à renommer avec.
 
Pour répondre à ta question, si tu ajoutes une feuille, en plaçant dans la table une ligne supplémentaire concernant cette feuille, alors au prochain renommage elle pourra être traitée, puisqu'il y a une boucle sur le nombre de valeurs à traiter qui dépend du nombre d'entrées dans le tableau.
 
Edit: NB: a ta place avant d'executer ce code je ferais une copie de mon classeur  ;)


Message édité par wago le 26-07-2017 à 22:56:51

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Excel: changer nom des onglets avec une liste

 

Sujets relatifs
Excel: étirer ma formule avec un changement d'ongletVBA Excel Requète WEB
[Excel] macro outlook ne traite jamais dernier mail sauf si un seulcreer une liste deroulante sous flash cs4.
envois mail par macro sous excelListe déroulante conditionnelle
Problème d'encodage de liste chainéeConstructeur de copie Liste chainée C++
Export Excel=> TXT avec suppression doublon 
Plus de sujets relatifs à : Excel: changer nom des onglets avec une liste



Copyright © 1997-2016 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR