Je cherche de l'aide concernant une macro qui puisse me renommer automatiquement (en cliquant sur un bouton) le nom de mes onglets.
Voici quelques exemples
a) Exemple n°1 Exemple n°2
Avant Après Avant Après
09-12 09-13 09-13 09-14
10-12 10-13 10-13 10-14
11-12 11-13 11-13 11-14
12-12 12-13 12-13 12-14
01-13 01-14 01-14 01-15
02-13 02-14 02-14 02-15
03-13 03-14 03-14 03-15
04-13 04-14 04-14 04-15
05-13 05-14 05-14 05-15
06-13 06-14 06-14 06-15
07-13 07-14 07-14 07-15
08-13 08-14 08-14 08-15
Normalement, je fonctionnerai toujours avec le même nombre d'onglets à modifier c'est à dire 12 comme dans l'exemple ci dessous. Mais je pourrais avoir un autre fichier excel ou j'ai plus de 12 onglets à modifier mais fonctionnant sur ce principe de deux années à cheval.
Je recherche également une autre macro ou sur la même macro qui puisse également me modifier les onglets s'ils se présentent sous cette forme.
b) Exemple n°1 Exemple n°2 Exemple n°3
Avant Après Avant Après Avant Après
1TR-12 1TR-13 1TR-13 1TR-14 1TR-14 1TR-15
2TR-12 2TR-13 2TR-13 2TR-14 2TR-14 2TR-15
3TR-12 3TR-13 3TR-13 3TR-14 3TR-14 3TR-15
4TR-12 4TR-13 4TR-13 4TR-14 4TR-14 4TR-15
J'aurai dans chacun des 2 cas:
1er onglet nommé "Maj_Onglets"
2ème onglet nommée "art"
Ensuite tous mes onglets nommés à cheval sur 2 années (voir a ci-dessus) ou les 4 trimestres de l'année (voir b ci-dessus). Seul ces onglets seront à modifier.
si tu es sûr que tes feuilles soient toujours dans le bon ordre :
Sub renomme_onglet()
Dim i As Long, nom, noms() As String
For i = Worksheets.Count To 1 Step -1
nom = Split(Worksheets(i).Name, "-")
If UBound(nom) = 1 Then
If IsNumeric(nom(1)) Then
Worksheets(i).Name = nom(0) & "-" & nom(1) + 1
End If
End If
Next i
End Sub
Renomme toutes les feuilles de la forme abc-00 en ajoutant 1.
Sinon demain on te fera un truc plus sécurisé avec la liste avant-après et la possibilité de restaurer.
eric
Je te remercie pour ton aide et je serai intéressé par ta solution plus sécurisée. Sinon j'oubliai de te dire au passage que j'ai testé ce que tu m'as proposé et ça marche nickel.
Lors du renommage une feuille 'Controle renommage' se crée.
Mettre un x dans la colonne Annuler sur les noms à récupérer. Lancer la macro annuler_renommage.
La feuille 'Controle renommage' peut être supprimée quand tout est fini.
https://www.cjoint.com/c/CGyx3q6b8Pq
Je te remercie pour ta réponse. Est-ce que les deux macros ne peuvent pas être gérées en cliquant sur un bouton de préférence ? Comme plusieurs personnes devront utiliser ce fichier je pense qu'il sera plus simple pour eux de cliquer sur un bouton au lieu d'aller dans le menu développeur puis cliquer sur macros.
Si, bien sûr, tu peux ajouter des boutons.
C'est très facile à partir du ruban développeur. Insère un bouton formulaire, il te demandera à quelle macro le lier.
Par contre qu'ils pensent bien à aller mettre des x dans Annuler sur les feuilles concernées.
eric