VB : Problème pour ramener plusieurs lignes d'un même identifiant

bastcam

XLDnaute Nouveau
Bonjour,

J’ai créé un formulaire de saisie. Ce formulaire alimente la feuille « Liste ». Cette feuille sera ensuite exportée.
Pour l’instant tout allait plutôt bien mais je bloque sur un problème :
Lorsque je veux rechercher les éléments déjà saisis (à l’aide du bouton « Rechercher une saisie »), cela ne ramène qu’une seule ligne par matricule. En effet, il peut en exister plusieurs.
Je pense que regarder le fichier est plus parlant que de longues explications. Si vous utilisez le bouton (« Rechercher une saisie ») avec le matricule 15225 par exemple, l’application ne ramène qu’une seule ligne alors qu’il en existe 3 ! J’ai beau chercher, je ne trouve pas la solution. Quelque chose doit m’échapper !
N’hésitez pas à me demandes des informations supplémentaires.
Merci par avance pour votre aide.
Bonne journée

bastcam

PS : j'ai du enlever pas mal de code qui ne correspondait pas au problème pour pouvoir joindre le fichier.
 

Pièces jointes

  • Formulaire_v5.zip
    103.1 KB · Affichages: 22

Modeste geedee

XLDnaute Barbatruc
Re : VB : Problème pour ramener plusieurs lignes d'un même identifiant

Bonsour®
consulter l'aide VBA : FindNext

mettre le lien ci-dessous dans la barre de recherche de votre browser :
ms-help://MS.EXCEL.DEV.12.1036/EXCEL.DEV/content/HV10035848.htm
 

bastcam

XLDnaute Nouveau
Re : VB : Problème pour ramener plusieurs lignes d'un même identifiant

Bonjour,
Merci pour la réponse.
J'ai bien essayé ceci mais sans succès :

resultat = InputBox("Matricule à rechercher", "Recherche")

If resultat <> "" Then
With Worksheets("Liste").Range("A2:A" & Sheets("Liste").Range("A" & Rows.Count).End(xlUp).Row)
Set C = Sheets("Liste").Range("A2:A" & Sheets("Liste").Range("A" & Rows.Count).End(xlUp).Row).Find(resultat, , , xlWhole)
If Not C Is Nothing Then
firstAddress = C.Address
Do

If Sheets("Liste").Cells(C, 2) = "810,01" Then
UserForm_PDE.CheckBox1 = True
UserForm_PDE.TextBox4.Value = Sheets("Liste").Cells(lig, 4)
UserForm_PDE.TextBox20.Value = Sheets("Liste").Cells(lig, 3)
UserForm_PDE.TextBox29.Value = Sheets("Liste").Cells(lig, 5)
End If

Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> firstAddress

End If
End With
Else: MsgBox "Aucune correspondance trouvée", , "Pas de Correspondance": Exit Sub



Merci pour votre aide



Bonsour®
consulter l'aide VBA : FindNext

mettre le lien ci-dessous dans la barre de recherche de votre browser :
ms-help://MS.EXCEL.DEV.12.1036/EXCEL.DEV/content/HV10035848.htm
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 361
Messages
2 087 626
Membres
103 612
dernier inscrit
GLOIRE