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 :
- Sub renommefeuille()
- 'Permet de renommer les feuille d'un classeur en fonction d'une table de correspondance
- 'A besoin d'une feuille nommée "TAB Correspondance"
- 'En colonne A les anciens noms, en B les nouveaux noms
- 'La ligne 1 n'est pas traiter pour permettre d'y inserer des titres de colonne EX:ancien / Nouveau
- 'Il ne doit pas y avoir d'espace vide entre chaque ligne
- 'Déclaration des variables
- Dim FeuilleOld As String
- Dim FeuilleNew As String
- Dim NombreVal As Integer
- Dim I As Integer
- 'Initialisation des variables
- NombreVal = Application.WorksheetFunction.CountA(Worksheets("Tab Correspondance" ).Range("$A:$A" ))
- 'Ignore les erreurs pour continuer le renommage
- On Error Resume Next
- 'boucle sur chaque ligne et renomme la feuille correspondante
- For I = 2 To NombreVal
- FeuilleOld = Sheets("Tab Correspondance" ).Cells(I, 1)
- FeuilleNew = Sheets("Tab Correspondance" ).Cells(I, 2)
- Worksheets(FeuilleOld).Name = FeuilleNew
- Next I
- MsgBox ("Fin du renommage des " & NombreVal - 1 & " feuilles" )
- 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