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
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
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