Fonction find prenant en compte 2 critères entrés dans des combobox
arnaud95000
Messages postés46Date d'inscriptionvendredi 3 août 2007StatutMembreDernière intervention18 décembre 2007
-
18 déc. 2007 à 09:27
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 2013
-
18 déc. 2007 à 17:33
Bonjour,
j'ai une petite question sou VBA, en fait j'ai deux combobox et je voulais savoir comment utiliser la fonction find, en prenant en compte ces 2 critères car pour le moment j'ai:
Sub affiche_result_Click()
Application.ScreenUpdating = false
mavaleur1 = combobox1
mavaleur2 = combobox2
ligne = Worksheets("résultats de la recherche").Range("A65536").End(xlUp).Row
With Worksheets("analyse").Range("E6:E5000")
Set c = .Find(mavaleur1, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
i = i + 1
maligne = c.Row
Worksheets("résultats de la recherche").Range("A" & i + ligne & ":p" & i + ligne).Value = Worksheets("analyse").Range("A" & maligne & ":p" & maligne).Value
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
Worksheets("résultats de la recherche").Select
Application.ScreenUpdating = True
End Sub
Merci et bonne journée.
A voir également:
Fonction find prenant en compte 2 critères entrés dans des combobox
arnaud95000
Messages postés46Date d'inscriptionvendredi 3 août 2007StatutMembreDernière intervention18 décembre 2007 18 déc. 2007 à 10:06
Bonjour, j'ai un petit problème sous VBA, et j'en suis sur que parmi vous certains et certaines ont été confronté, en fait j'ai deux tableaux, le premier avec le nom des clients et le second avec le nom du client le montant
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 18 déc. 2007 à 11:08
Si tu utilisais une colonne vide pour concaténer tes 2 valeurs recherchées, tu pourrais utiliser Find pour rechercher ces 2 valeurs d'un seul coup.
Habitues-toi à déclarer tes variables. Sinon, tu risques d'avoir de drôles de surprises...
Plutôt que définir un Range comme tu le fais, mets plutôt toute la colonne
<strike>With Worksheets("analyse").Range("E6:E5000")</strike>
With Worksheets("analyse").Columns("E")
MPi²
Vous n’avez pas trouvé la réponse que vous recherchez ?
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 18 déc. 2007 à 17:16
Bonjour,
tu pourais juste rechercher la premiere valeur et une fois trouvée tu verifis alors que la seconde ci trouve egalement ci ce n'est pas le cas tu continus. Mais vu que tu declares pas tes variables on ne peu pas savoir ce que tu cherches.
Pas facile de t'aider dans c'est conditions.
le code qui suit peut etre utiliser pour rechercher la position d'un Nom et un Prenom qui ce trouve dans une meme celule.
le format a respecter : Nom Prenom
Sub essai()
Dim macelule As Range, maligne As Single, lastvalue As Single, Nom As String
lastvalue = Range("A:A").Find("*", [a1], , , xlByRows, xlPrevious).Row
For Each macelule In Range([a1], Cells(lastvalue, 1))
On Error Resume Next
Nom = Left(macelule.Value, Application.Search(" ", macelule.Value, 1) - 1)
MsgBox InMaCelule
If Nom = mavaleur1 Then 'dans ce if tu met un deuxieme if pour verifier la deuxieme valeur (le prenom par exemple). A toi de chercher comment
maligne = macelule.Row
MsgBox maligne
Exit For
End If
Next
End Sub