Renommer plusieurs feuilles d'un fichier Excel à partir de la valeur d'une cellule

Publié le 15 février 2010 par Mibenlamine

Le but de cet article n'est pas de vous montrer comment renommer une ou deux feuilles d'un fichier Excel mais bien un ensemble de feuilles (disons une bonne dizaine car c'est à partir de ce nombre que le renommage devient bel et bien un processus long et fastidieux...).
Pour cela, j'ai implémenté une fonction en Visual Basic que j'ai nommée "RenommerFeuille".
Reste maintenant à intégrer cette fonction au sein du fichier Excel, objet du "renommage massif". Il suffit, pour ce faire, de suivre la démarche suivante :
1) Clic droit sur une feuille du fichier Excel / Visualiser le code,
 
2) Copier/Coller le code suivant dans l'objet "ThisWorkbook" :
 
Sub RenommerFeuille()


Dim i As Integer
i = 1
 
Dim NombreFeuilles As Integer
NombreFeuilles = Worksheets.Count
 
While i <= NombreFeuilles
 
Sheets(i).Name = Replace(Sheets(i).Range("G7").Value, "/", "") ' Le nom de la feuille est renseigné dans la cellule G7 de la feuille active
i = i + 1
 
Wend
 
End Sub

3) Exécuter la fonction en appuyant sur la touche "F5" du clavier ou bien suivre l'exécution au pas à pas détaillé en appuyant sur la touche "F8" du clavier,
4) Supprimer le code, fermer l'éditeur Microsoft Visual Basic puis enregistrer le travail afin d'éviter les avertissements de Macro à chaque ouverture du fichier Excel.
  
P.S : Cette démarche est opérationnelle sous EXCEL 97-2003 et EXCEL 2007.
 
Il est à noter que la valeur contenue dans la cellule G7 devra obéir aux règles suivantes :
- Le nom ne dépasse pas 31 caractères,
- Le nom ne contient aucun des caractères suivants : \ / ? * [ ou ]
- Le champ du nom n'est pas vide.


d'où le recours à la fonction Replace dans le code.
Voilà, si vous souhaitez apporter une amélioration à ce travail ou bien suggérer une autre façon de faire, n'hésitez surtout pas ! Merci d'avance.