Fonction Vlookup => quel test écrire sir la recherche = N/A
1 réponse
te
Bonjour,
dans une macro, je fais appelle à la fonction recherchev.
Dans les cas où la recherche n'est pas valide, dans Excel il suffit de faire
un test du type (SI(estna()
J'ai voulu faire de la même manière dans la macro mais cela ne marche pas.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Xav
Bonjour te
quand vlookup ne trouve pas la valeur, il génère un message d'erreur. Il suffit d'intercepter l'erreur comme dans l'exemple qui suit
Attention: la fonction vlookup recherche aussi un type de variable (ici un string). Si tu veux chercher une valeur numérique, alors il faut la convertir (ex: Cint(demande) pour un entier, etc)
Sub test()
Dim resultat As Variant Dim recherche As Range Dim demande As String
On Error GoTo Fin 'si une erreur se produit (en l'occurence N#A) aller à l'étiquette "Fin"
demande = InputBox("Valeur à chercher") Set recherche = Workbooks("test.xls").Worksheets_("feuil1").Range("A1:b4") resultat = Application.WorksheetFunction.VLookup_(demande, recherche, 2, False)
MsgBox resultat
Exit Sub
Fin: 'si erreur alors le résultat devient valeur vide
resultat = "" MsgBox resultat
End Sub
-- @+
Xav "te" a écrit dans le message de news:%
Bonjour,
dans une macro, je fais appelle à la fonction recherchev. Dans les cas où la recherche n'est pas valide, dans Excel il suffit de faire
un test du type (SI(estna() J'ai voulu faire de la même manière dans la macro mais cela ne marche pas.
Merci d'avance de votre aide,
Bonjour te
quand vlookup ne trouve pas la valeur, il génère un message d'erreur. Il
suffit d'intercepter l'erreur comme dans l'exemple qui suit
Attention: la fonction vlookup recherche aussi un type de variable (ici un
string). Si tu veux chercher une valeur numérique, alors il faut la
convertir (ex: Cint(demande) pour un entier, etc)
Sub test()
Dim resultat As Variant
Dim recherche As Range
Dim demande As String
On Error GoTo Fin 'si une erreur se produit (en l'occurence N#A) aller à
l'étiquette "Fin"
demande = InputBox("Valeur à chercher")
Set recherche = Workbooks("test.xls").Worksheets_("feuil1").Range("A1:b4")
resultat = Application.WorksheetFunction.VLookup_(demande, recherche, 2,
False)
MsgBox resultat
Exit Sub
Fin: 'si erreur alors le résultat devient valeur vide
resultat = ""
MsgBox resultat
End Sub
--
@+
Xav
"te" <te@free.fr> a écrit dans le message de
news:%23kUIPJmjEHA.2908@TK2MSFTNGP10.phx.gbl...
Bonjour,
dans une macro, je fais appelle à la fonction recherchev.
Dans les cas où la recherche n'est pas valide, dans Excel il suffit de
faire
un test du type (SI(estna()
J'ai voulu faire de la même manière dans la macro mais cela ne marche pas.
quand vlookup ne trouve pas la valeur, il génère un message d'erreur. Il suffit d'intercepter l'erreur comme dans l'exemple qui suit
Attention: la fonction vlookup recherche aussi un type de variable (ici un string). Si tu veux chercher une valeur numérique, alors il faut la convertir (ex: Cint(demande) pour un entier, etc)
Sub test()
Dim resultat As Variant Dim recherche As Range Dim demande As String
On Error GoTo Fin 'si une erreur se produit (en l'occurence N#A) aller à l'étiquette "Fin"
demande = InputBox("Valeur à chercher") Set recherche = Workbooks("test.xls").Worksheets_("feuil1").Range("A1:b4") resultat = Application.WorksheetFunction.VLookup_(demande, recherche, 2, False)
MsgBox resultat
Exit Sub
Fin: 'si erreur alors le résultat devient valeur vide
resultat = "" MsgBox resultat
End Sub
-- @+
Xav "te" a écrit dans le message de news:%
Bonjour,
dans une macro, je fais appelle à la fonction recherchev. Dans les cas où la recherche n'est pas valide, dans Excel il suffit de faire
un test du type (SI(estna() J'ai voulu faire de la même manière dans la macro mais cela ne marche pas.