Comment utiliser IfNa dans VBA (avec exemple)
Vous pouvez utiliser la méthode IfNa dans VBA pour renvoyer une valeur spécifique si une formule génère une erreur #N/A .
Voici une façon courante d’utiliser IfNa dans la pratique :
Sub UseVLOOKUP()
With Application
Range("F2").Value = .IfNa(.Vlookup(Range("E2"), Range("A2:C11"),3,False), "No Value Found")
End With
End Sub
Cette macro particulière tente d’utiliser la fonction RECHERCHEV pour rechercher la valeur dans la cellule E2 dans la plage A2:C11 .
Si la valeur dans la cellule E2 est introuvable, la formule donnera alors #N/A .
Cependant, nous pouvons utiliser la méthode IfNa pour renvoyer « No Value Found » au lieu de #N/A .
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : Comment utiliser IfNa dans VBA
Supposons que nous ayons l’ensemble de données suivant dans Excel qui contient des informations sur divers joueurs de basket-ball :
Supposons que nous souhaitions rechercher le nom de l’équipe « Kings » dans l’ensemble de données et renvoyer la valeur correspondante dans la colonne des passes décisives.
Nous pouvons créer la macro suivante pour ce faire :
Sub UseVLOOKUP()
With Application
Range("F2").Value = .IfNa(.Vlookup(Range("E2"), Range("A2:C11"),3,False), "No Value Found")
End With
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
La macro renvoie correctement une valeur de 3 passes décisives pour les Kings.
Supposons maintenant que nous modifions le nom de l’équipe dans la cellule E2 en « Grizzlies », qui n’existe pas dans l’ensemble de données.
Lorsque nous exécuterons à nouveau cette macro, elle renverra « Aucune valeur trouvée » car c’est la valeur que nous avons spécifiée qui doit être renvoyée si la fonction RECHERCHEV entraîne une erreur #N/A.
La macro renvoie « Aucune valeur trouvée » puisque les Grizzlies n’existent pas dans la colonne équipe.
Remarque : Vous pouvez trouver la documentation complète de la méthode VBA IfNa ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :
VBA : comment utiliser la correspondance d’index
VBA : Comment trier une feuille sur plusieurs colonnes
VBA : comment vérifier si une chaîne contient une autre chaîne