Recherche avec userform

Bonjour,

je voudrais faire une recherche avec userform en inscrivant la ref je voudrais que la désignation et l emplacement s'affiche. Apres plus essai je suis arriver a faire la recherche mais que pour des nbr de moins de 10.

J ai un problème aussi car mes ref mélange des chiffre et des lettre..

Ci joint un exemple du fichier simplifier

merci a tous

17classeur1222.xlsm (18.27 Ko)

Bonjour

Remplacez votre code par celui ci-dessous

Private Sub TextBox1_AfterUpdate()
On Error Resume Next
With Sheets("Feuil1")
lig = .Range("A:A").Find(TextBox1.Value, LookIn:=xlValues, lookat:=xlWhole).Row
If lig = 0 Then
    MsgBox "CMS n'existe pas ou ne se trouve pas dans le kardex-E", vbInformation + vbOKOnly, "CMS non trouvé"
    TextBox1.Value = ""
    Exit Sub
End If
On Error GoTo 0
    TextBox2 = .Range("B" & lig)
    TextBox3 = .Range("D" & lig)
End With
End Sub

Cordialement

Bonjour DAN

Merci beaucoup pour votre aide cela fonctionne parfaitement.

Pouvez vous m expliquer ligne par ligne stp afin de comprendre mieux?

Peux t'on afficher la ligne (ex en gras ou de couleur) a même temps sur le tableau excel ?

Merci d avance.

Re

Pouvez vous m expliquer ligne par ligne stp afin de comprendre mieux?

Peux t'on afficher la ligne (ex en gras ou de couleur) a même temps sur le tableau excel ?

Voici le code expliqué et amendé pour mettre la ligne en gras

Private Sub TextBox1_AfterUpdate()
Dim Lig As Integer
'on prevoit que le code continue pour le cas où la variable lig renvoie 0
On Error Resume Next
'on est sur la feuille 1
With Sheets("Feuil1")
    'on enlève le gras sur toutes les lignes
    .Range("A2:D" & .Range("A" & .Rows.Count).End(xlUp).Row).Font.Bold = False
    'recherche de la ligne dans la colonne A pour la valeur mise dans la textbox1
    Lig = .Range("A:A").Find(TextBox1.Value, LookIn:=xlValues, lookat:=xlWhole).Row
    'IF utilisé pour la condition où pas de ligne trouvée (donc lig = 0) pour la donnee mise dans la textbox1
    If Lig = 0 Then
        MsgBox "CMS n'existe pas ou ne se trouve pas dans le kardex-E", vbInformation + vbOKOnly, "CMS non trouvé"
        'on vide la textbox1
        TextBox1.Value = ""
        'On sort de la macro
        Exit Sub
    End If
    'On annule la gestion d'erreur
    On Error GoTo 0
    'on complète les textbox2 et 3 des données trouvées en colonne B et D
    TextBox2 = .Range("B" & Lig)
    TextBox3 = .Range("D" & Lig)
    'on met la ligne trouvée en gras
    .Range("A" & Lig & ":D" & Lig).Font.Bold = True
End With
End Sub

Cordialement

bonjour Dan

merci pour ton aide cela fonctionne a la perfection

juste une autres petite demande

mon tableau fait 1000 lignes peux ton aller a la ligne recherché dans la textbox1 afin de ne pas être a la recherche dans tt le tableau de la ligne en gras.

merci d avance

Re

Oui, juste en dessous de cette ligne --> .Range("A" & Lig & ":D" & Lig).Font.Bold = True mettez ceci

.Range("A" & Lig).select

Cordialement

Merci beaucoup pour tout ces codes et explication

bonne journée

Rechercher des sujets similaires à "recherche userform"