Recherche multi critères

nanardino64 Messages postés 131 Date d'inscription vendredi 18 août 2006 Statut Membre Dernière intervention 17 mars 2010 - 26 mai 2008 à 21:33
nanardino64 Messages postés 131 Date d'inscription vendredi 18 août 2006 Statut Membre Dernière intervention 17 mars 2010 - 17 mars 2010 à 19:24
bonjour à tous,
me voilà après des mois de silence confronté à un nouveau problème :
j'ai sur un userform tout un tas de combobox suivant lesquelles je fais une recherche dans un tableau et je souhaite récupérer les lignes où sont validés tous mes critères de recherche. J'ai déjà tapé un bon vieil embriquement de fonction If seulement la macro est trop longue pour excel donc maintenant je cale, j'ai pas de solutions... Si quelqu'un a un bout de code à me filer c'est sympas
merci



Nanardino64
Développons-nous, développeurs.

5 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
27 mai 2008 à 00:08
Salut
Bah, rétrécie-la, qu'est ce que tu veux qu'on te dise ?

Tu travailles sous Excel ou Access ?
Quand tu parles de critères, c'est dans une requète SQL ?
Si oui, ce n'est donc qu'une variable String dans laquelle tu veux mettre ta requète avec critères ?
Si tes tests sont ressemblant les uns les autres, il y a peut-être une possibilité de créer une Sub
A ma connaissance, la limite du nombre de ligne d'une macro est ... impressionnant !
Comment as-tu réussit à la saturer ?
Et si tu nous montrais un petit bout de ton code ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
nanardino64 Messages postés 131 Date d'inscription vendredi 18 août 2006 Statut Membre Dernière intervention 17 mars 2010
1 juin 2008 à 15:59
Salut,
je travaille sous Excel et en fait j'ai un userform qui me sert à faire des recherches dans une base de données. Je valide des critères de recherche avec des combobox puis je clique sur "rechercher" et le logiciel doit m'afficher les lignes où apparaissent tous mes critères.
Voilà un bout de code :
Private Sub Recherche1_Click()
For Ligne = 2 To 2000
If Type_de_joint_1.Value = "" Then
If Matiere1_1.Value = "" Then
If Matiere2_1.Value = "" Then
If Produit1_1.Value = "" Then
If Produit2_1.Value = "" Then
If Procede_1.Value = "" Then
If Ep1.Value = "" Then
If Ep2.Value = "" Then
If Dimension1_1.Value = "" Then
If Dimension2_1.Value = "" Then
Résultats_1.SetFocus
result = "Saisir toutes les données"
Résultats_1.AddItem result
End If
End If
End If
End If
End If
End If
End If
End If
End If
ElseIf Type_de_joint_1.Text = Sheets("QMOS").Cells(Ligne, 1).Value Then
If Matiere1_1.Text = Sheets("QMOS").Cells(Ligne, 4).Value Then
If Matiere2_1.Text = Sheets("QMOS").Cells(Ligne, 6).Value Then
If Produit1_1.Text = Sheets("QMOS").Cells(Ligne, 8).Value Then
If Produit2_1.Text = Sheets("QMOS").Cells(Ligne, 11).Value Then
If Procede_1.Text Sheets("QMOS").Cells(Ligne, 14).Value Or Procede_1.Text Sheets("QMOS").Cells(Ligne, 15).Value Then
If Ep1.Text >= Sheets("QMOS").Cells(Ligne, 18).Value Or Ep1.Text <= Sheets("QMOS").Cells(Ligne, 19).Value Then
If Ep2.Text >= Sheets("QMOS").Cells(Ligne, 18).Value Or Ep2.Text <= Sheets("QMOS").Cells(Ligne, 19).Value Then
If Dimension1_1.Text >= Sheets("QMOS").Cells(Ligne, 44).Value Or Dimension1_1.Text <= Sheets("QMOS").Cells(Ligne, 45).Value Then
If Dimension2_1.Text >= Sheets("QMOS").Cells(Ligne, 44).Value Or Dimension2_1.Text <= Sheets("QMOS").Cells(Ligne, 45).Value Then
Résultats_1.SetFocus
result = Sheets("QMOS").Cells(Ligne, 46).Value
Résultats_1.AddItem result
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
Next Ligne
End Sub


Nanardino64
Développons-nous, développeurs.
0
nanardino64 Messages postés 131 Date d'inscription vendredi 18 août 2006 Statut Membre Dernière intervention 17 mars 2010
1 juin 2008 à 16:29
Ne cherchez plus j'ai trouvé un moyen facile de faire ma recherche merci de votre aide et à bientôt pour de nouvelles aventures


Nanardino64
Développons-nous, développeurs.
0
lockay Messages postés 1 Date d'inscription mardi 16 mars 2010 Statut Membre Dernière intervention 17 mars 2010
17 mars 2010 à 11:57
Bonjour,
ça fait un petit bout de temps, mais je suis confronté au même problème.
Pourrais-tu me dire le "moyen facile" de faire ta recherche que tu avais trouvé?
Merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nanardino64 Messages postés 131 Date d'inscription vendredi 18 août 2006 Statut Membre Dernière intervention 17 mars 2010
17 mars 2010 à 19:24
Salut,
C'est trop loin j'ai plus souvenir...


Nanardino64
Développons-nous, développeurs.
0
Rejoignez-nous