VBA : Renommer les feuilles d'après un tableau
Résolu
nouyman
Messages postés
7
Statut
Membre
-
nouyman Messages postés 7 Statut Membre -
nouyman Messages postés 7 Statut Membre -
Bonjour à tous,
j'essaie de renommer mes pages suivant un tableau, mon souhait et juste que la première feuille aura le nom Section_**, ** étant la case voulu (ici la position F,X) et faire de même sur les autres pages avec la ligne + 1 et le réitérer suivant le nombre de valeur que j'ai de ligne dans mon tableau
j'essaie de renommer mes pages suivant un tableau, mon souhait et juste que la première feuille aura le nom Section_**, ** étant la case voulu (ici la position F,X) et faire de même sur les autres pages avec la ligne + 1 et le réitérer suivant le nombre de valeur que j'ai de ligne dans mon tableau
Sub Rename_Page()
'n compte le nombre de Section
Sheets("MENU").Activate
nbcellsmenu = WorksheetFunction.CountA(Range("$F7:F240"))
For i = 0 To nbcellsmenu
i = i + 1
pageinc = 2 + i
'Renomme les feuilles 20 fois
Worksheets(pageinc).Name = Sheets("MENU").Cells(i + 7, 6).Value
'feuille indexé = Section_"valeur de la case"
Next i
End Sub
2 réponses
-
Bonjour,
Essaies ce code :Option Explicit Sub Rename_Page() Dim cel As Range Dim n°P As Integer n°P = 2 For Each cel In Worksheets("MENU").Range("$F7:F240").Cells If cel.Formula <> "" Then Worksheets(n°P).Name = "Section_" & cel.Value n°P = n°P + 1 End If Next cel End SubAttention, il n'y a aucune sécurité dans ce code, il y aura erreur si le nombre de feuilles est insuffisant ou s'il y a des doublons ! -
Bonjour Patrice337400,
j'ai trouvé une solution qui fonctionne, il ya à peine 5 minutes.
Merci :)
Je passe ce sujet en résoluSub rename_page() 'But de la macro : renommer chaque page par une case d'un tableau de facon a avoir Section_** Dim nb_classeur As Byte nb_classeur = Worksheets.Count For i = 2 To nb_classeur 'do the task i =2 to how many pages Worksheets(i).Name = "SECTION " & Sheets("MENU").Cells(i + 5, 6).Value 'cells(line, column) Next i End Sub