Recherche d'après textbox et checkbox

Bonjour à tous,

Avec l'aide précieuse de Banzai64, j'ai fais mes premiers pas en VBA. J'ai réalisé une application, et à l'usage je me rends compte des améliorations nécessaires. J'ai essayé de me débrouiller tout seul avec des recherches sur le forum et sur le net mais ce n'est pas un succès.

Dans le fichier joint, sur la première feuille, il y a un gros bouton recherche. Initialement la recherche se fait uniquement par rapport au texte entré dans la textbox. Ca marche très bien, merci Banzai64. Mais à l'usage, je me rends compte qu'il faut pouvoir affiner la recherche. J'ai donc créé une checkbox par département.

Ce que j'essaie de faire c'est: on saisit sa recherche dans la textbox (pour tester tapez "sertisseuse"), on coche une ou plusieurs checkbox et le résultat s'affiche comme avant dans le tableau. Si aucun enregistrement ne contient le mot recherché rien ne s'affiche.

Si on laisse la textbox vide et que l'on coche 1 ou plusieurs chekbox les enregistrements conformes aux chekbox s'affichent.

Merci par avance pour votre aide.

Wally66

52wally66checkbox.xlsm (239.58 Ko)

Bonjour

A tester

Bonjour et merci Banzai64,

Ca fonctionne très bien. J'ai regardé en détail le code et il y a plein de nouveautés pour moi. Je vais avoir du travail pour bien tout comprendre.

merci encore.

Wally66

Salut Wally 66 !

Je m'aide de ton fichier pour faire le mien, mais je ne trouve pas à quoi correspond le "CheckBox" dans ton UserForm recherche :

If Me.Controls("CheckBox" & I + 1) = True Then

Merci,

Angevabzh

Bonsoir

Je ne sais pas si wally66 va te répondre, sa dernière visite remonte au 29 Avr 2014 à 06:01, mais cela ne veut pas dire qu'il ne suit pas son post

En attendant qu'il se manifeste

If Me.Controls("CheckBox" & I + 1) = True Then

On passe en revue les 5 CheckBox de l'userform

C'est comme si on avait écrit

    If Me.CheckBox1 = True Then
      ' code
    End If
    If Me.CheckBox2 = True Then
      ' code
    End If
    If Me.CheckBox3 = True Then
      ' code
    End If
    If Me.CheckBox4 = True Then
      ' code
    End If
    If Me.CheckBox5 = True Then
      ' code
    End If

D'accord, dans se cas je ne comprends pas pourquoi quand je réutilise son code dans mon UserForm ça me met :

"Objet spécifié introuvable" , pourtant elles sont là mes CheckBox

Et quand je shunte toute cette partie, ça m'affiche bien les noms mais pas trié ...

Je trouve pas l'erreur

Merci,

30habillement-2.xlsm (21.64 Ko)

Bonsoir

C'est normal que tu es une erreur

Dans le fichier de wally66 les checkbox se nomment CheckBox1, CheckBox2 .....,CheckBox5

Dans ton fichier ils s'appellent CheckBox_chaussure1, CheckBox_chaussure2 et CheckBox_chaussure3

dans la boucle il faut remplacer CheckBox par CheckBox_chaussure

If Me.Controls("CheckBox_chaussure" & I + 1) = True Then

Regarde ce que j'ai fait avec ton autre fichier

J'ai remplacé les CheckBox par des OptionButton

Parfait ! je comprends rien , mais c'est ce qu'il me fallait ...

Maintenant faut que je l’intègre dans mon UserForm, car celui la c'était juste pour l'exemple

Mille merci,

Re bonjour à tous !

Voilà j'ai intégré les codes dans ma vraie base de données et forcément faut qu'il y est un truc qui n'aille pas ...

Au boulot ma base de donnée de ne se trouve pas sur la même page que la recherche

Alors j'ai rajouté :

Dim Ws As WorkSheet au départ + dans Initialize() Set Ws = Sheets("enregistrement")

Parcontre j'ai essayé de mettre : With Ws un peu partout (car j'y connais rien) ... et je trouve pas ça veux pas...

Donc j'ai remis le fichier Excel comme au boulot, l'UserForm sur une page , mais la base de donnée sur une autre.

Si qqn pouvait me corriger ça

Merci.

Bonjour

A tester

Testé et validé ^_^

Merci

Rechercher des sujets similaires à "recherche textbox checkbox"