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
A voir également:
- VBA : Renommer les feuilles d'après un tableau
- Excel compter cellule couleur sans vba - Guide
- Dépassement de capacité vba ✓ - Forum Excel
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Vba range avec variable ✓ - Forum VB / VBA
2 réponses
Bonjour,
Essaies ce code :
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ésolu
j'ai trouvé une solution qui fonctionne, il ya à peine 5 minutes.
Merci :)
Je passe ce sujet en résolu
Sub 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