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