Générer un MsgBox si valeur non trouvée

Bonjour à tous et à toutes,

J'ai besoin de vos lumières en espérant que vous pourrez m'aider.

Voici mon code :

Private Sub Rechercher_Click()
If Produit <> "" Then
With Worksheets("Produits_Actifs")
lig = .Columns(1).Find(Produit, .Cells(2, 1), , xlWhole).Row
Resultat = .Cells(lig, 2).Offset(, 3)

'Si erreur rencontrée --> MsgBox "Le produit recherché est incorrect ou inexistant !"

End With
End If
End Sub

Le but est de concevoir un formulaire via lequel j'effectue la recherche d'une valeur (code produit) dans une colonne du tableau et s'il la trouve, il renvoi la valeur d'une autre colonne du tableau (Domaine).

Le code fonctionne mais je ne parviens pas à générer un message dans le cas où la valeur n'est justement pas trouvée.

Merci d'avance pour votre aide.

Cdt.

Bonjour,
essaie ainsi :

Option Explicit

Private Sub Quitter_Click()
    Unload Me
End Sub
Private Sub RAZ_Click()
    With Me
        .txtProduit.Value = ""
        .txtResultat.Value = ""
    End With
End Sub

Private Sub Rechercher_Click()
Dim lig
    If txtProduit.Value <> "" Then
        With Worksheets("Produits_Actifs")
            lig = Application.Match(txtProduit.Value, .Columns(1), 0)
            If Not IsError(lig) Then
                txtResultat.Value = .Cells(lig, 2).Offset(, 3)
            Else
                MsgBox "Le produit recherché est incorrect ou inexistant !", 64, "Information"
            End If
        End With
    End If
End Sub

Bonjour,

Private Sub Rechercher_Click()
Dim lig As String
On Error GoTo message
If Produit <> "" Then
With Worksheets("Produits_Actifs")
lig = .Columns(1).Find(Produit, .Cells(2, 1), , xlWhole).Row
Resultat = .Cells(lig, 2).Offset(, 3)
End With
Exit Sub
End If
message:
MsgBox "Le produit recherché est incorrect ou inexistant !"
End Sub

Bonjour,

J'avais déjà tenté cette méthode et j'ai réessayé encore mais ça ne fonctionne pas malheureusement.
J'obtiens une erreur :

erreur vba

Pouvez-vous me décomposer le code pour voir si je ne commets pas d'erreur svp ?

Merci.

Bonjour,

Ce ne serait pas plus simple d'utiliser directement une ListBox une recherche intuitive le cas échéant ?

capture

Re, vous parlez de quel code qui est en erreur ?

@Xmenpl,

Désolé, je faisais allusion à la réponse de @Yal et d'autres réponses sont arrivés entre temps.
J'ai testé votre solution et c'est parfait.

Merci pour ce détail en plus qui fait toute la différence

J'ai juste ajouté les lignes qui manquaient à votre code de départ sans rien changer d'autre.

Cependant la remarque d'Eric est loin d'être dénué de sens : Un selecteur serait sans doute plus facile surtout si un produit a un nom compliqué et que l'opérateur de saisie ne connait pas son orthographe.

Oui j'ai vu ça mais ayant un niveau débutant en vba, ça ne m'aurait jamais traversé l'esprit

Merci encore.

Rechercher des sujets similaires à "generer msgbox valeur trouvee"