VBA : Comment vérifier si la feuille existe (avec exemple)



Vous pouvez créer la fonction suivante dans VBA pour vérifier si une feuille particulière existe dans le classeur Excel actuellement actif :

Function sheetExists(some_sheet As String) As Boolean

On Error Resume Next
sheetExists = (ActiveWorkbook.Sheets(some_sheet).Index > 0)

End Function

Cette fonction renverra VRAI ou FAUX pour indiquer si un nom de feuille particulier existe ou non dans le classeur Excel actuellement actif.

Notez que cette fonction vérifie simplement si le numéro d’index d’une feuille est supérieur à 0.

Si la feuille existe, le numéro d’index de la feuille aura une valeur de 1 au minimum, ce qui amènera la fonction à renvoyer une valeur de TRUE .

L’exemple suivant montre comment utiliser cette fonction dans la pratique.

Exemple : utiliser VBA pour vérifier si la feuille existe

Supposons que nous ayons le classeur Excel suivant avec trois feuilles :

Nous pouvons créer la fonction suivante dans VBA pour vérifier si un nom de feuille particulier existe dans ce classeur :

Function sheetExists(some_sheet As String) As Boolean

On Error Resume Next
sheetExists = (ActiveWorkbook.Sheets(some_sheet).Index > 0)

End Function

Nous pouvons ensuite taper la formule suivante dans la cellule A1 de la feuille actuellement active pour vérifier si le nom de la feuille « Équipes » existe dans ce classeur :

=sheetExists("Teams")

La capture d’écran suivante montre comment utiliser cette formule en pratique :

La fonction renvoie VRAI puisque ce nom de feuille existe dans le classeur.

Notez également que cette fonction n’est pas sensible à la casse.

Par exemple, si nous vérifions si le nom de la feuille « équipes » existe alors la fonction retournerait également TRUE :

Cependant, supposons que nous vérifiions si le nom de la feuille « coachs » existe :

La fonction renvoie FALSE puisque ce nom de feuille n’existe pas dans le classeur.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :

VBA : Comment compter le nombre de feuilles dans un classeur
VBA : Comment extraire des données d’un autre classeur
VBA : comment insérer plusieurs lignes

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *