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

Signaler
Messages postés
12
Date d'inscription
jeudi 4 avril 2019
Statut
Membre
Dernière intervention
5 juillet 2019
-
Messages postés
9426
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
4 juin 2020
-
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
6791
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
5 juin 2020
522
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


1
Merci

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

CCM 76948 internautes nous ont dit merci ce mois-ci

Messages postés
9426
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
4 juin 2020
1 824
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
1
Merci

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

CCM 76948 internautes nous ont dit merci ce mois-ci

Messages postés
12
Date d'inscription
jeudi 4 avril 2019
Statut
Membre
Dernière intervention
5 juillet 2019

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
23408
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
2 juin 2020
6 184
Bonjour à tous,

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

:-)
eric
Messages postés
9426
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
4 juin 2020
1 824
Argh, c'est beau ;-()

Bonne fin de journée
Messages postés
9426
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
4 juin 2020
1 824
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
1
Merci

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

CCM 76948 internautes nous ont dit merci ce mois-ci

Messages postés
12
Date d'inscription
jeudi 4 avril 2019
Statut
Membre
Dernière intervention
5 juillet 2019

Merci je vais essayer, je te tiens au courant.

Cordialement
Messages postés
12
Date d'inscription
jeudi 4 avril 2019
Statut
Membre
Dernière intervention
5 juillet 2019

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

Cordialement
Messages postés
9426
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
4 juin 2020
1 824
De rien

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

Bon après midi