VBA – Obtenir le Nom d’une Feuille / Renommer une Feuille

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

David Gagnon

Last updated on février 5, 2023

Ce tutoriel traite de l’interaction avec les noms des feuilles en VBA.

Obtenir le Nom d’une Feuille

Les noms des feuilles sont stockés dans la propriété Name de l’objet Sheets ou Worksheets. Le nom de la feuille correspond au nom de l’onglet visible au bas de l’interface graphique d’Excel :

Obtenir le Nom de la Feuille Active

Cette opération affiche le nom de la feuille active dans une boîte de message :

MsgBox ActiveSheet.Name

Obtenir le Nom de la Feuille par Numéro d’Index

Cette opération affiche le nom de la première feuille de calcul dans une boîte de message:

MsgBox Sheets(1).Name

Ceci affichera le nom de la dernière feuille de calcul dans le classeur :

MsgBox Sheets(Sheets.Count).Name

Obtenir le Nom de la Feuille par son Nom de Code

Dans l’éditeur VBA, il existe une option permettant de modifier le « nom de code » d’une feuille. Le nom de code n’est pas visible pour l’utilisateur d’Excel et ne peut être vu que dans l’éditeur VBA :

En VBA, lorsque vous travaillez avec des feuilles, vous pouvez faire référence au nom habituel de l’onglet :

Sheets("NomOnglet").Activate

ou le nom du code VBA

NomDeCode.Activate

Il est souhaitable de faire référence au nom de code au cas où le nom de l’onglet de la feuille changerait. Si vous permettez à votre utilisateur Excel d’accéder à la modification des noms de feuilles, vous devez faire référence au nom de code dans votre code VBA afin d’éviter qu’une erreur se produise si le nom de l’onglet de la feuille ne correspond pas. Les noms de code de feuille sont abordés plus en détail ici.

Pour Obtenir le Nom de la Feuille en Utilisant le Nom de Code VBA, Procédez Comme Suit :

MsgBox NomDeCode.Name

Renommer une Feuille

Vous pouvez renommer les feuilles en modifiant la propriété name de l’objet Sheets ou Worksheets.

Renommer la Feuille Active

ActiveSheet.Name = "NouveauNom"

Renommer une Feuille par son Nom d’Onglet

Sheets("NomActuel").Name = "NouveauNom"

Renommer une Feuille par son Numéro d’Index

Ici, nous utilisons 1 pour renommer la première feuille du classeur.

Sheets(1).Name = "NouveauNom"

Renommer une Feuille en Utilisant son Nom de Code

Ce code renomme une feuille en utilisant son nom de code VBA (voir ci-dessus) :

NomDeCode.Name = "NouveauNom"

Vérifier si le Nom de la Feuille Existe

Nous avons créé une fonction permettant de vérifier si une feuille portant un nom particulier existe déjà.

'Entrées :
' NomDeFeuille - Nom en texte de la feuille (ex "Feuil1")
' PlageTest - (facultatif, par défaut = "A1") - Nom en texte de la plage à tester (ex "A1")
Function FeuilleExiste(NomDeFeuille As String, Optional ByVal PlageTest As String = "A1") As Boolean
    Dim test As Range
    On Error Resume Next
    Set test = ActiveWorkbook.Sheets(NomDeFeuille).Range(PlageTest)
    FeuilleExiste = Err.Number = 0
    On Error GoTo 0
End Function

La fonction renvoie VRAI si la feuille existe, ou FAUX si elle n’existe pas.
Utilisez la fonction comme suit :

Sub Test_FeuilleExiste()
    MsgBox FeuilleExiste("NomOnglet")
End Sub

Copier une Feuille et la Renommer

Cet exemple est tiré de notre article sur la copie de feuilles. Après avoir copié et collé une feuille, la nouvelle feuille créée devient la feuille active. Ainsi, pour renommer une feuille copiée, il suffit d’utiliser ActiveSheet.Name :

Sub CopierRenommerFeuille()

    Sheets("Feuil1").Copy After:=Sheets(Sheets.Count)
    On Error Resume Next
    ActiveSheet.Name = "DernièreFeuille"
    On Error GoTo 0

End Sub

Remarque : Nous avons ajouté une ligne de gestion des erreurs pour éviter les erreurs si le nom de la feuille existe déjà. Une erreur peut toutefois se produire si la feuille « Feuil1 » n’existe pas.

vba-free-addin

Module Complémentaire d'Exemples de Code VBA

Accédez facilement à tous les exemples disponibles sur le site.

Naviguez simplement dans le menu, cliquez, et le code sera inséré directement dans votre module. Module complémentaire .xlam.

(Aucune installation requise!)

Téléchargement gratuit

Retour aux exemples de code VBA