Vba macro excel recherche et userform
Fermé
Chriscam8786
Messages postés
19
Date d'inscription
mercredi 3 octobre 2007
Statut
Membre
Dernière intervention
18 mars 2008
-
25 févr. 2008 à 16:47
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 1 juil. 2009 à 21:38
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 1 juil. 2009 à 21:38
A voir également:
- Excel vba recherche multicritère
- Liste déroulante excel - Guide
- Si et excel - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
17 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 712
14 mars 2008 à 09:55
14 mars 2008 à 09:55
bonjour
Tu as effectivement une syntaxe incorrecte.
Si j'ai compris ta modification, je te propose ceci avec décalage des instructions pour bien voir le début et la fin des boucles, des if et autres.
Tu as effectivement une syntaxe incorrecte.
Si j'ai compris ta modification, je te propose ceci avec décalage des instructions pour bien voir le début et la fin des boucles, des if et autres.
Option Explicit Public Sub chercher(rech, c) 'recherche d'une chaine Dim sel As Object Dim valide As Boolean Dim i As Integer Dim l As Long Dim n As Integer l = 2: n = 0 SuiviActivite.ListBox1.Clear With Sheets("BaseDeDonnées") If rech = "" Then Exit Sub Do Set sel = .Cells.Find(What:=rech, after:=.Cells(l, c), _ LookIn:=xlValues, LookAt:=xlPart, _ SearchOrder:=xlByColumns, _ SearchDirection:=xlNext, MatchCase:=False) If sel Is Nothing Then Exit Do If sel.Column <> c Then Exit Do If sel.Row <= l Then Exit Do l = sel.Row valide = True For Each ctrl In SuiviActivite.Controls If TypeOf ctrl Is MSForms.TextBox _ Or TypeOf ctrl Is MSForms.ComboBox Then If ctrl.Value <> "" _ And InStr(1, LCase(.Cells(l, i).Value), LCase(ctrl.Value)) = 0 Then valide = False End If Next ctrl If valide Then SuiviActivite.ListBox1.AddItem _ (.Cells(l, 1).Value & " " & _ .Cells(l, 2).Value & " " & _ .Cells(l, 3).Value & " " & _ .Cells(l, 4).Value & " " & _ .Cells(l, 5).Value & " " & _ .Cells(l, 6).Value & " " & _ .Cells(l, 7).Value & " " & _ .Cells(l, 8).Value & " " & _ .Cells(l, 9).Value & " " & _ .Cells(l, 10).Value & " " & _ .Cells(l, 11).Value & " " & _ .Cells(l, 12).Value & " " & _ .Cells(l, 13).Value & " " & _ .Cells(l, 14).Value & " " & _ .Cells(l, 15).Value & " " & _ .Cells(l, 16).Value) SuiviActivite.ListBox1.List(n, 2) = sel.Row n = n + 1 End If Loop End With End Sub