Savoir si une valeur est dans une plage de données

Bonjour,

Je cherche un moyen grâce a un code VBA de savoir si une valeur est dans une plage de données.

Je m’explique.

Dans un fichier j’ai par exemple en cellule A1 le nom d’un fruit

Et dans une autre feuille, une plage de B1 jusqu’à B10 avec le nom de plusieurs fruits.

J’aimerai grace a un code VBA, que si le fruit en A1 est présent dans la plage de données de B1:B10 alors qu’il m’ouvre un userform.

Voilà, j’espère que cela est compréhensible.

Merci de votre aide

Cdlt

Bonjour,

Un code à adapter :

Sub FRUIT()
If Not Worksheets("Feuil2").UsedRange.Find([A1]) Is Nothing Then
    UserForm1.Show
    Else
    MsgBox "Fruit non trouvé", vbCritical
End If
End Sub

Avec le fichier joint.

Cdlt,

2classeur1.xlsm (17.76 Ko)

Bonjour,

Merci de votre c’est exactement ce que je cherchais.

Si je peux vous demander encore quelque chose, en faite pour reprendre l'exemple des fruits.

Si le premier fruit est trouvé alors il m’affiche mon userform que je rempli puis que je ferme c’est parfait.

Il faudrait qu’ensuite il fasse la même chose pour le fruit situé juste en dessous en A2 (vérifier s’il est dans la liste dans la feuille 2) et ensuite qu’il me re affiche mon user form initial pas remplit.

Et si le fruit n’est pas dans la liste alors il passe au fruit suivant situé à la suite de A2 puis jusqu’à la fin.

Merci de votre aide.

Bonjour,

Second test :

Sub FRUIT()
Dim L%
L = 1
Do While Cells(L, 1) <> ""
    If Not Worksheets("Feuil2").UsedRange.Find(Cells(L, 1)) Is Nothing Then
        UserForm1.Show
        Else
        MsgBox "Fruit non trouvé", vbCritical
    End If
    L = L + 1
Loop
End Sub

Cdlt,

7classeur1-1.xlsm (18.36 Ko)

Bonjour,

Encore merci pour votre aide cela marche très bien!

Cdlt

Rechercher des sujets similaires à "savoir valeur plage donnees"