Numérotation automatique des feuilles dans un classeur excel [Résolu/Fermé]

Signaler
Messages postés
17
Date d'inscription
jeudi 4 avril 2019
Statut
Membre
Dernière intervention
4 novembre 2020
-
Messages postés
9962
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
21 juillet 2021
-
Bonjour,

Qui serait me dire comment, dans un classeur excel qui contient de 100 à plus de 300 feuilles, faire une numérotation automatique des feuilles de 001 pour la première jusqu'à la fin en sachant que les feuilles que je souhaite numéroter ne sont pas au début de mon classeur.

Cordialement

3 réponses

Messages postés
7435
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
21 juillet 2021
643
Bonjour,

comme ceci:

Sub ListerOnglets()
' Liste uniquement les onglets de type "Feuille"
' Les onglets de type "Graphique" ne sont pas inclus
Dim ws As Worksheet
Dim i As Integer
i = 1
For Each ws In ThisWorkbook.Worksheets
If ws.Index > 5 Then 'démarre après le 5ème onglet à adapter
ws.Name = "00" & i
i = i + 1
End If
Next ws
End Sub


2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
9962
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
21 juillet 2021
2 161
Bonjour à tous les deux

Une petite modification à la proposition de cs_LePivert (salut cordial au passage) pour caler les noms sur 3 caractères

Sub ListerOnglets()
' Liste uniquement les onglets de type "Feuille"
' Les onglets de type "Graphique" ne sont pas inclus
Dim ws As Worksheet
Dim i As Integer, s As String
i = 1
For Each ws In ThisWorkbook.Worksheets
  If ws.Index > 5 Then 'démarre après le 5ème onglet à adapter
    Select Case Int(Log(i) / Log(10))
      Case 0: s = "00" & i
      Case 1: s = "0" & i
      Case 2: s = "" & i
    End Select
    ws.Name = s
    i = i + 1
  End If
Next ws
End Sub

Cdlmnt
Messages postés
17
Date d'inscription
jeudi 4 avril 2019
Statut
Membre
Dernière intervention
4 novembre 2020

Bonjour à vous deux,
Le soucis est que je n'y connais pas grand chose en VBA ou macro, il y aurait'il une autre solution sans arriver dans une usine.
Merci à vous.
Messages postés
24137
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 juillet 2021
6 839
Bonjour à tous,

joli exercice de style ccm ;-)
D'autres auraient mis :
ws.Name = format(s,"000")

:-)
eric
Messages postés
9962
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
21 juillet 2021
2 161
Argh, c'est beau ;-()

Bonne fin de journée
Messages postés
9962
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
21 juillet 2021
2 161
Pas de solution sans VBA
Par prudence, faire la manip sur une copie de ton fichier
1. Alt-F11 pour accéder à l'éditeur vba
2. Insertion/Module pour créer un Module1
3. Coller tout le code dans ce module 1
4. Retour à une feuille
5. Outils/Macros/Sélectionner la macro/Exécuter
6. C'est tout

Cdlmnt
Messages postés
17
Date d'inscription
jeudi 4 avril 2019
Statut
Membre
Dernière intervention
4 novembre 2020

Merci je vais essayer, je te tiens au courant.

Cordialement
Messages postés
17
Date d'inscription
jeudi 4 avril 2019
Statut
Membre
Dernière intervention
4 novembre 2020

Re,
Avec une petite modification de mon fichier, ça passe, encore merci.

Cordialement
Messages postés
9962
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
21 juillet 2021
2 161
De rien

Si c'est fini, peux tu mettre le sujet à résolu (en haut à droite, la roue dentée)

Bon après midi