message erreur

Anonyme
2023-01-12T10:47:04+00:00

Bonjour,

pour une recherche utilise la fonctiion VLookup :

Application.WorksheetFunction.VLookup(cherch, tabl, colo, False)

je veux envoyer un message d'erreur lorsqu'il n'y a pas de valeur correspondante. Ai essayé :

If IsError(Application.WorksheetFunction.VLookup(cherch, tabl, colo, False)) Then MsgBox....

mais j'ai le message suivant : <Impossible de lire la propriété VLookup de la classe WorksheetFunction.>

pourquoi ? Que mettre

merci, cordialement

Richard

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

Réponse acceptée par l’auteur de la question

DanielCo 107.7K Points de réputation
2023-01-12T11:28:59+00:00

Bonjour,

Au lieu d'utiliser la fonction "WorksheetFunction.VLookup" (qui est la fonction Excel RECHERCHEV), tu peux utiliser la fonction VLookup de la bibliothèque VBA "Application.VLookup". Tu peux alors utiliser "IsError" :

If IsError(Application.VLookup(cherch, tabl, colo, False)) Then

Daniel

Cette réponse a-t-elle été utile ?

5 personnes ont trouvé cette réponse utile.
0 commentaires Aucun commentaire

3 réponses supplémentaires

  1. Anonyme
    2023-01-12T14:30:30+00:00

    parfait comme d'hab

    merci

    richard

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2023-01-12T14:23:24+00:00

    merci pour ta réponse, mais cela ne fonctionne pas, quand le pgr arrive sur Valeur = ai le message :

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Hecatonchire 53,870 Points de réputation Modérateur bénévole
    2023-01-12T11:15:57+00:00

    Bonjour

    Sub test()

    On Error Resume Next 
    
    Valeur = Application.WorksheetFunction.VLookup(3, Range("A1:B4"), 2, False) 
    
    If Err.Number = 1004 Then 
    
        MsgBox "Pas trouvé" 
    
    Else 
    
        MsgBox "Trouvé : " & Valeur 
    
    End If 
    
    On Error GoTo 0 
    

    End Sub

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire