Faire apparaître un message si valeur non présente

Bonjour,

Revoilà le boulet de VBA...

Je recherche un code VBA pour m'ouvrir un message si la valeur inscrite dans un formulaire n'est pas présente dans une feuille excel.

J'ai réussi à faire :

le formulaire pour taper la valeur que je doit trouver

la fonction recherche qui fonctionne si la valeur est présente en me plaçant dans la cellule ou celle ci est inscrite (qui bug si la valeur n'est pas présente)

Mais impossible de faire apparaître un message pour me prévenir que la valeur n'est pas présente afin de relancer une nouvelle recherche avec une bonne valeur.

Je vous joins le fichier que j'ai commencé.

Merci pour votre aide.

Hello :)

Dis moi ce que tu en penses

Bonjour toutes et tous

merci Baroute78

un mix du code de Baroute

Private Sub CommandButton1_Click()

'lance la macro RECHERCHE
    RECHERCHE
'Ferme le formulaire
    UserForm1.Hide

End Sub

Private Sub RECHERCHE()
'Met en memoire le code renseignee dans le formulaire
Code = TextBox1

'Selection de la colonne A
Columns("A:A").Activate

'Fonction recherche du code
On Error GoTo ERREUR
Cells.Find(What:=Code, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Select

Exit Sub

ERREUR:
MsgBox "La recherche n'existe pas"
Exit Sub
End Sub

Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
' par double clic gauche on supprime
Me.TextBox1.Value = ""
Me.TextBox1.SetFocus
End Sub

Private Sub UserForm_Initialize()
Me.TextBox1.SetFocus ' on garde le focus
End Sub

ci-joint,

crdlt,

André

Merci c'est çà sauf que je viens de m'apercevoir d'un autre problème.

En faite il me faut la valeur exacte.

Exemple si je tape que la valeur 4 il me trouve une cellule avec le chiffre 4 alors que je cherche la valeur du code exact.

Enfin, c'est déjà top comme solution.

Salut eleomne,
Salut l'équipe,

au plus simple puisqu'il n'y a qu'une feuille.
Pour une recherche exacte, utilise xlWhole...

Private Sub Recherche()
'
Dim rCel As Range
'
Set rCel = .Columns(1).Find(What:=Me.TextBox1.Text, LookAt:=xlWhole, LookIn:=xlValues, SearchDirection:=xlNext)
If Not rCel Is Nothing Then
    rCel.Select
Else
    MsgBox "La valeur n'a pas été trouvée !"
End If
'
End Sub


A+

Bonjour,

Merci pour vos réponses qui font le taf.

Y a juste une erreur dans le code de curulis57 qui a écrit ''.Columns(1)'' alors qu'il ne faut écrire ''Columns(1)" , il ne faut pas de point avant Columns

Je corrige en cas ou si le code servirait à quelqu'un d'autre.

Bonne journée à Tous.

Rechercher des sujets similaires à "apparaitre message valeur presente"