Bonjour à tous
Voilà j'ai besoin de votre aide pour résoudre un problème ...
J'ai besoin de générer une requete de type AND ou OR selon (je verrais plus tard pour permettre à l'utilisateur de choisir) le nombre de choix effectué dans une listeBox a choix multiple.
Le code ci-dessous me renvois une sorte de OU .. plutot que du AND ...
J'ai une première requetes qui va déja regardé si j'ai des cellules qui correspondent aux critères selectionné (ou pas) de mes ComboBox (choix unique)
Parmis ces resultats ensuite je souhaiterais pouvoir lancer une requete qui permet de cumuler les valeurs saisies dans ma ListBox (j'ai tenté d'utilisé une variable testRecherche et d'y mettre ma recherche globale ... mais ca semble marché en mode OU ... uniquement)
Il y a peut etre une solution toute simple et rapide mais je la connais pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 For ligne = 2 To nbLigneListing 'On boucle sur chaque ligne du listing (autant de ligne que d'intervenant) 'Requetes pour aller chercher les infos dans les bonnes colonnes 'DOMAINE + PERIMETRE + TYPE If ThisWorkbook.Sheets(nomFeuilleListing).Cells(ligne, numColonneDomaine) Like "*" & cBoxDomaine.Value & "*" _ And ThisWorkbook.Sheets(nomFeuilleListing).Cells(ligne, numColonnePerimetre) Like "*" & cBoxPerimetre.Value & "*" _ And ThisWorkbook.Sheets(nomFeuilleListing).Cells(ligne, numColonneType) Like "*" & cBoxType.Value & "*" Then testRecherche = "" j = 0 For a = 0 To lBoxTheme.ListCount - 1 If lBoxTheme.Selected(a) = True Then j = 1 'SelectedItems = SelectedItems & lBoxTheme.List(a) & vbNewLine 'THEME If testRecherche <> "" Then testRecherche = testRecherche & " OR " testRecherche = testRecherche & ThisWorkbook.Sheets(nomFeuilleListing).Cells(ligne, numColonneTheme) Like "*" & _ lBoxTheme.List(a) & "*" MsgBox testRecherche If testRecherche Then 'On copie colle les valeurs de la ligne trouvées dans la feuille RECHERCHE ThisWorkbook.Sheets("RECHERCHE").Range("A" & i & ":M" & i).Value = ThisWorkbook.Sheets(nomFeuilleListing).Range("A" & ligne & ":M" & ligne).Value i = i + 1 End If End If Next a 'AU CAS OU AUCUN THEME NE SOIT SELECTIONNE If j = 0 Then ThisWorkbook.Sheets("RECHERCHE").Range("A" & i & ":M" & i).Value = ThisWorkbook.Sheets(nomFeuilleListing).Range("A" & ligne & ":M" & ligne).Value i = i + 1 End If 'MsgBox SelectedItems 'On incrémente de 1 le resultat End If Next
J'ai 3 ComboBox et une ListBox
J'ai une liste d'utilisateur avec en colonne I, J, K et L les valeurs (séparées par des virgules si plusieurs)
Je dois ensuite renvoyer les resultats dans un onglet RECHERCHE
Ca fonctionne nickel en mode ComboBox mais en Listbox ... je galère
Merci pour votre aide
Partager