Inverser automatiquement les noms des onglets

Résolu
Alem13 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -  
Alem13 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

2 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
noctambule28 Messages postés 33382 Date d'inscription   Statut Webmaster Dernière intervention   2 857
 
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
Alem13 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
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
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
Alem13 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
en fait la noir_chocolat devient chocolat, je voudrais juste qu'il devienne noir :)

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

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