Numérotation automatique des feuilles dans un classeur excel

Résolu
rorken Messages postés 17 Statut Membre -  
ccm81 Messages postés 11033 Statut Membre -
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

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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
    


    3
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
    1. rorken Messages postés 17 Statut Membre
       
      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.
      0
    2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Bonjour à tous,

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

      :-)
      eric
      0
    3. ccm81 Messages postés 11033 Statut Membre 2 434
       
      Argh, c'est beau ;-()

      Bonne fin de journée
      0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
    1. rorken Messages postés 17 Statut Membre
       
      Merci je vais essayer, je te tiens au courant.

      Cordialement
      0
    2. rorken Messages postés 17 Statut Membre
       
      Re,
      Avec une petite modification de mon fichier, ça passe, encore merci.

      Cordialement
      0
    3. ccm81 Messages postés 11033 Statut Membre 2 434
       
      De rien

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

      Bon après midi
      0