Daydayer
Messages postés201Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention13 août 2005
-
1 juin 2005 à 12:48
Daydayer
Messages postés201Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention13 août 2005
-
1 juin 2005 à 15:10
bonjour!
je réliase une interface de recherche multicritères sur une feuille excel, via VB editor.
L'interface comporte plusieurs critères de choix de recherche. L'utilisateur peut ne pas tous les remplir (y'en a 16 de critères...).
mon problème c'est comment ensuite faire ma recherche sachant que les conditions de choix des lignes correpondant aux critères vont changer selon que les cases de choix sot remplies ou non...
j'ai essayé cela (seulement pour 2 cases pour le moment):
Private Sub Search_Click()
If PlaneNumber.Value <> "" Then
If Search = "" Then Search "Range(PlaneNumberColumn + CStr(Row)).Value PlaneNumber.Value"
Else Search Search + "And Range(PlaneNumberColumn + CStr(Row)).Value PlaneNumber.Value"
End If
End If
If PlaneType.Value <> "" Then
If Search = "" Then Search "Range(PlaneTypeColumn + CStr(Row)).Value PlaneType.Value"
Else Search Search + "And Range(PlaneTypeColumn + CStr(Row)).Value PlaneType.Value"
End If
End If
For Row = SearchBeginning To SearchLimit
If FinalSearch Then
MsgBox "trouvé"
End If
Next
End Sub
toutes mes var sont déclarées et initialisées.
la var Search est de type String
la var finalSearch est de type Variant (parce que je ne sais pas quel autre type lui donner)
Au fur et à mesure si les cases de l'interface ne sont pas vides, j'ajoute les conditions de recherche sous forme de string dans Search.
Une fois toutes les cases vérifiées, je veux récupérer uniquement ce qu'il y a entre les "" de Search, dans finalSearch, pour ensuite mettre mes conditions dans le if de recherche via FinalSearch.
Le problème, c'est que FinalSearch est de type variant et que avec le '=' lorsque je veux lui affecter ce qu'il y a entre les "" de Search, et bien FinalSearch est sous forme de string, donc entre "", et donc cela ne marche pas pour l'instruction if de recherche...
en gros je ne sais pas comment dire que FinalSearch, c'est un morceau d'instruction pour le if....
Daydayer
Messages postés201Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention13 août 2005 1 juin 2005 à 14:20
dans les cellules, il peut y avoir des chiffres ou des lettres ou les deux. en fait, les types d'infos (en tout on a 16 types d'infos), c'est du style:
nom du fournisseur
mois
nom de l'employé
nombre d'heures passées....
donc sur la feuille excel contenant toutes ces données, je dois permettre à l'utilisateur de faire une recherche. Par exemple, il peut choisir sur l'interface de rechercher un nom de fournisseur particulier pour un mois particulier, et laisser les autres critères de recherche vides.
Une fois que son choix de critères est fait, je veux récupérer ces critères pour choisir parmi toutes lignes de la feuilles, celles qui contiennent ces 2 critères en même temps (s'il n'en a choisi que 2). Une fois ces infos sélectionnées dans la feuille d'après les critères, je les copie et je les colle sur une autre feuille du même classeur.pour les copier, coller, pas de pb. Moi le pb se situe au niveau de la condition de choix, vu qu'elle peut être différente à chaque fois, selon les critères choisis...