Inverser automatiquement les noms des onglets

Résolu
Alem13 Messages postés 44 Statut Membre -  
Alem13 Messages postés 44 Statut Membre -
Bonjour,

J'ai une macro permettant de regrouper différents onglets dans un classeur. Je souhaiterais insérer un code permettant d'inverser les noms des onglets au moment de leur regroupement.

Ex: Au départ, j'ai les onglets chocolat-noir, chocolat-aulait, chocolat-blanc et je voudrais avoir dans le classeur final noir-chocolat, aulait-chocolat, blanc-chocolat.

En imaginant qu'il existe beaucoup plus de chocolats (chocolat-praliné, chocolat-pistache...) ce qui nécessite une systématisation du process d'inversion des noms.

Quelqu'un voit-il comment faire?

En vous remerciant par avance

2 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Sub renommeFeuilles()
        Dim sh As Worksheet, p As Long
        For Each sh In Worksheets
            p = InStr(sh.Name, "-")
            If p > 0 Then sh.Name = Split(sh.Name, "-")(1) & "-" & Split(sh.Name, "-")(0)
        Next sh
    End Sub 

    eric
    1
    1. noctambule28 Messages postés 25275 Date d'inscription   Statut Membre Dernière intervention   2 875
       
      Salut eriiic,

      J'adore ce type de réponse sans bavure;-)
      Tu ne penses pas que c'est le type de question/réponse qui pourrait faire une fiche pratique (astuce)? (si elle n'existe pas)
      0
  2. Alem13 Messages postés 44 Statut Membre
     
    D'accord merci beaucoup.

    Petite question complémentaire, est-ce que vous voyez comment renommer tous les onglets en supprimant la 2nde partie (supprimer le "-" et tout ce qu'il y a après)

    Ex: l'onglet noir_chocolat devient noir

    merci
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Sub renommeFeuilles()
      Dim sh As Worksheet, p As Long
      For Each sh In Worksheets
      p = InStr(sh.Name, "-")
      If p > 0 Then sh.Name = Split(sh.Name, "-")(1)
      Next sh
      End Sub
      0
    2. Alem13 Messages postés 44 Statut Membre
       
      en fait la noir_chocolat devient chocolat, je voudrais juste qu'il devienne noir :)

      merci
      0
    3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      ah ok, ce n'est plus une inversion.
      If p > 0 Then sh.Name = Split(sh.Name, "-")(0)
      0
    4. Alem13 Messages postés 44 Statut Membre
       
      Super, c'est géant, merci!

      Les chocolats Wonka vous remercient!
      0
    5. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Chocolats ? je laisse mon adresse où ?
      0