Noms des onglets de feuille de calcul dynamique (Microsoft Excel)
Vous savez probablement déjà que vous pouvez modifier le nom d’un onglet de feuille de calcul en double-cliquant sur l’onglet et en fournissant un nouveau nom. Et si vous voulez le faire de manière dynamique, cependant? Que faire si vous souhaitez que la valeur de la cellule A1 apparaisse automatiquement comme nom de l’onglet?
Malheureusement, Excel ne fournit pas de fonction intrinsèque pour gérer ce type de tâche. C’est une tâche relativement simple de développer une telle fonction en utilisant une macro qui fera le travail pour vous. Par exemple, la macro suivante changera le nom de l’onglet en contenu de A1:
Sub myTabName() ActiveSheet.Name = ActiveSheet.Range("A1") End Sub
Il y a plusieurs éléments importants à noter à propos de cette macro. Tout d’abord, il n’y a pas de vérification des erreurs. Cela signifie que si A1 contient une valeur qui serait illégale pour un nom d’onglet (telle que rien du tout ou plus de 31 caractères), la macro génère une erreur. Deuxièmement, la macro doit être exécutée manuellement.
Que faire si vous voulez une macro plus robuste qui vérifie les erreurs et s’exécute automatiquement? Le résultat est un peu plus long, mais toujours pas trop complexe:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) Set Target = Range("A1") If Target = "" Then Exit Sub On Error GoTo Badname ActiveSheet.Name = Left(Target, 31) Exit Sub Badname: MsgBox "Please revise the entry in A1." & Chr(13) _ & "It appears to contain one or more " & Chr(13) _ & "illegal characters." & Chr(13) Range("A1").Activate End Sub
Pour configurer cette macro, procédez comme suit:
-
Ouvrez un nouveau classeur qui ne contient qu’une seule feuille de calcul.
-
Cliquez avec le bouton droit sur l’onglet de la feuille de calcul et sélectionnez Afficher le code dans le menu contextuel résultant. Excel affiche l’éditeur VBA.
-
Collez (ou tapez) la macro ci-dessus dans la fenêtre de code.
-
Fermez l’éditeur VBA.
-
Recherchez le dossier XLStart sur votre système. (Utilisez les fonctionnalités de recherche de Windows pour localiser le dossier.)
-
Enregistrez le classeur en tant que modèle Excel en utilisant le nom BOOK.XLT dans le répertoire XLStart. Cela provoque le modèle pour devenir votre modèle pour tout nouveau classeur que vous créez.
-
Enregistrez à nouveau le classeur en tant que modèle dans le même répertoire, cette fois en utilisant le nom SHEET.XLT. Cela provoque le modèle pour devenir le modèle pour toutes les nouvelles feuilles de calcul que vous insérez dans un classeur.
-
Fermez et redémarrez Excel.
Désormais, chaque fois que vous modifiez la valeur de la cellule A1, l’onglet de la feuille de calcul est également mis à jour.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (2145) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:
link: / excelribbon-Dynamic_Worksheet_Tab_Names [Noms de l’onglet Dynamic Worksheet]
.