Combinaisons possible checkbox,VBA excel

Fermé
papi-fr - 10 août 2009 à 00:27
 papi-fr - 12 août 2009 à 00:50
Bonjour à tous,

je dispose d'un fichier excel avec 80 lignes représentant des clients. chaque client à la possibilité de choisir jusqu'à 5 options (ou moins ). le but étant à travers la une interface faite de checkbox, de faire apparaitre les client ayant choisit telle ou telle option.

sous vba j'ai crée donc une useform dans laquelle j'ai placé 5 checkbox représentant les 5 options , pour le moment la seule solution que j'ai trouvé c'est de faire une condition if pour chaque cas possible par exemple:

If checkbox1.value = True And checkbox2.value= True And checkbox3.value = True And checkbox4.value = False And checkbox5.value = False Then

Range("A16:A97").EntireRow.Hidden = True

For Each ligne In ActiveSheet.UsedRange.Rows

r = ligne.Row
chercCO = Application.Find("option 1", Cells(r, 7))
chercSC = Application.Find("option 2", Cells(r, 7))
chercEP = Application.Find("option 3", Cells(r, 7))
chercMI = Application.Find("option 4", Cells(r, 7))
chercRO = Application.Find("option 5", Cells(r, 7))


If Not (IsError(chercO1)) And Not (IsError(chercO2)) And Not (IsError(chercO3)) And (IsError(chercO4)) And (IsError(chercO5)) Then
Cells(132, 6) = r
l = r
l = l - 120

Cells(l, 7).EntireRow.Hidden = False
End If
Next
End If

ainsi comme je veux faire apparaitre uniquement les options cochées (par exemple les clients ayant choisit l'option 1 2 et 3) sans pour autant faire apparaitre ceux qui ont choisit la 1 ou la 2 ou la 3
je me retrouve avec une trentaine de boucle comme celle ci-dessus reprenant tout les cas possible des choix d'options. jusque là ça marchait meme si je trouve le systeme pas génial... mais voila je dois rajouter 2 optionz, ce qui en tout fait une centaine de combinaison, et là ça me plait encore moins...

donc il y aurait-il un moyen d'avoir une fonction permettant suivant les options cochées de faire ressortir les clients sans avoir 100 boucles derrière??

en vous remerciant par avance de toute l'aide que vous pourriez m'apporter!,
A voir également:

2 réponses

eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
10 août 2009 à 07:29
Bonjour,

Pourquoi ne pas abandonner les checkbox ?
Des colonnes avec un x dedans (sur la même ligne) c'est beaucoup plus simple à gérer, que ce soit en vba ou bien simplement avec un filtre automatique.
Un exemple de ton fichier sur cijoint.fr (coller ici le lien fourni) aiderait...
eric
0
tout d'abord merci pour la réponse!
pour le moment j'ai pas le fichier je mettrais un lien demain, le problème c'est que je ne peut pas appliquer ta solution car je dois soit afficher uniquement les clients avec la ou les options cochées ou soit afficher les clients ayant au moins une option cochées... mais ce sera plus clair quand je mettrai le fichier en ligne!
0