Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

recuperer contenu d'une textbox comme argument Vlookup

2 réponses
Avatar
franck B
bonjour,

mardi soir j'ai posté une requete concernant un Vlookup dont le message
d'erreur 1004.

le probleme est désormais différent, mais tout aussi contraignant. je
souhaite rentrer en paramètres une chaine de caractère resultant d'un choix
sur une textbox. cependant lorsque je spécifie la syntaxe classique de
récuperation (objet.champ_à_recup.value), j'obtient à nouveau le message
d'erreur 1004 "impossible de lire la propriété vlookup de la classe
worksheetfunction"

result = Application.WorksheetFunction.VLookup(Cockpit.Code_projet.Value,
Sheets("Paramètres").Range("A26:F33"), 3, False)

j'ai essayé de rentrer la variable avec "as string" pour forcer la
reconnaissance de la chaine de caractères, sans succès.

j'attend vos suggestions.

2 réponses

Avatar
tissot.emmanuel
Bonsoir,

Lorsque VLookup ne trouve pas de correspondance:

En utilisant cette syntaxe:
R = Application.VLookup(....)

Aucune erreur d'exécution ne se produit, on peut vérifier la valeur
retournée comme ceci:

If IsError(R) Then
MsgBox "Valeur inexistante"
Else
MsgBox R
End If


En utilisant cette syntaxe:
R = Application.WorksheetFunction.VLookup(....)

Une erreur d'exécution est générée "Impossible de lire la propriété ...", on
peut vérifier la valeur retournée comme cela:

On Error Resume Next
R = Empty
R = Application.WorksheetFunction.VLookup(....)
If IsEmpty(R) Then
MsgBox "Valeur inexistante"
Else
MsgBox R
End If
On Error Goto 0

La première option me semble plus simple, mais dans les deux cas R doit etre
déclarée Variant.

Cordialement,

Manu/

"franck B" a écrit dans le message de
news:
bonjour,

mardi soir j'ai posté une requete concernant un Vlookup dont le message
d'erreur 1004.

le probleme est désormais différent, mais tout aussi contraignant. je
souhaite rentrer en paramètres une chaine de caractère resultant d'un
choix
sur une textbox. cependant lorsque je spécifie la syntaxe classique de
récuperation (objet.champ_à_recup.value), j'obtient à nouveau le message
d'erreur 1004 "impossible de lire la propriété vlookup de la classe
worksheetfunction"

result = Application.WorksheetFunction.VLookup(Cockpit.Code_projet.Value,
Sheets("Paramètres").Range("A26:F33"), 3, False)

j'ai essayé de rentrer la variable avec "as string" pour forcer la
reconnaissance de la chaine de caractères, sans succès.

j'attend vos suggestions.


Avatar
franck B
Un grand merci emmanuel, c'etait tout juste ce qu'il me fallait, j'ai trouvé
mon erreur grace à l'affichage dans la msgbox.

probleme résolu :
le vlookup se refere toujours à la premiere colonne de la matrice précisée
dans les paramètres pour faire la comparaison lorsqu'il scrute les cellules.
ma premiere colone ne contenait tout simplement pas les bonnes données.

encore merci


Bonsoir,

Lorsque VLookup ne trouve pas de correspondance:

En utilisant cette syntaxe:
R = Application.VLookup(....)

Aucune erreur d'exécution ne se produit, on peut vérifier la valeur
retournée comme ceci:

If IsError(R) Then
MsgBox "Valeur inexistante"
Else
MsgBox R
End If


En utilisant cette syntaxe:
R = Application.WorksheetFunction.VLookup(....)

Une erreur d'exécution est générée "Impossible de lire la propriété ...", on
peut vérifier la valeur retournée comme cela:

On Error Resume Next
R = Empty
R = Application.WorksheetFunction.VLookup(....)
If IsEmpty(R) Then
MsgBox "Valeur inexistante"
Else
MsgBox R
End If
On Error Goto 0

La première option me semble plus simple, mais dans les deux cas R doit etre
déclarée Variant.

Cordialement,

Manu/

"franck B" a écrit dans le message de
news:
bonjour,

mardi soir j'ai posté une requete concernant un Vlookup dont le message
d'erreur 1004.

le probleme est désormais différent, mais tout aussi contraignant. je
souhaite rentrer en paramètres une chaine de caractère resultant d'un
choix
sur une textbox. cependant lorsque je spécifie la syntaxe classique de
récuperation (objet.champ_à_recup.value), j'obtient à nouveau le message
d'erreur 1004 "impossible de lire la propriété vlookup de la classe
worksheetfunction"

result = Application.WorksheetFunction.VLookup(Cockpit.Code_projet.Value,
Sheets("Paramètres").Range("A26:F33"), 3, False)

j'ai essayé de rentrer la variable avec "as string" pour forcer la
reconnaissance de la chaine de caractères, sans succès.

j'attend vos suggestions.