Microsoft 365 Renommer une feuille selon la valeur d'une cellule (suite)

BZHPSYCOW

XLDnaute Nouveau
[URGENT]
Bonjour,
Je suis totalement novice en Macro et pour ma 1ère macro,
j'ai vu le topic qui traite mon besoin ("Renommer une feuille selon la valeur d'une cellule").
Par contre, j'ai plus de 150 feuilles à renommer ainsi :(
J'ai bien utilisé le code fourni précédemment :
VB:
Sub nom_onglet()
ActiveSheet.Name = Range("e1")
End Sub
...mais le pb est que je dois passer sur chaque feuille pour exécuter la macro :(
N'y a-t-il moyen d'exécuter la macro une fois pour l'ensemble des feuilles ?
 
Solution
Et si je dois faire un mixte des 2 : j'ai des feuilles cachées qu'on ne va pas renommer et (par exclusion) des feuilles visibles qu'il ne faut pas renommer, c'est possible ? il faut peut-être imbriquer des if ? Je ne parviens pas à imbriquer les 2 if :(

Voià, voilou:
VB:
Sub RenommerC1()
' Dans la constante Exclusion, indiquez les noms des onglets à exclure séparés par une virgule
' et on ne renomme pas les feuilles masquées
Const Exclusion = "TOTO,titi"

Dim F
   On Error GoTo Err001
   For Each F In ThisWorkbook.Worksheets
      If InStr(1, "," & Exclusion & ",", "," & F.Name & ",", vbTextCompare) = 0 And _
         F.Visible = xlSheetVisible Then
            F.Name = F.Range("e1").Value
      End If
   Next F
   Exit Sub...

mapomme

XLDnaute Barbatruc
Supporter XLD
Et si je dois faire un mixte des 2 : j'ai des feuilles cachées qu'on ne va pas renommer et (par exclusion) des feuilles visibles qu'il ne faut pas renommer, c'est possible ? il faut peut-être imbriquer des if ? Je ne parviens pas à imbriquer les 2 if :(

Voià, voilou:
VB:
Sub RenommerC1()
' Dans la constante Exclusion, indiquez les noms des onglets à exclure séparés par une virgule
' et on ne renomme pas les feuilles masquées
Const Exclusion = "TOTO,titi"

Dim F
   On Error GoTo Err001
   For Each F In ThisWorkbook.Worksheets
      If InStr(1, "," & Exclusion & ",", "," & F.Name & ",", vbTextCompare) = 0 And _
         F.Visible = xlSheetVisible Then
            F.Name = F.Range("e1").Value
      End If
   Next F
   Exit Sub

Err001:
   MsgBox "La feuille de nom <" & F.Name & "> n'a pas pu être renommée" & vbLf & _
      "avec le nom <" & F.Range("e1").Value & ">." & vbLf & _
      "L'erreur suivante s'est produite: Erreur n° " & Err.Number & vbLf & _
      Err.Description, vbCritical
      Resume Next
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 081
Membres
103 457
dernier inscrit
fab2614