deux combobox - double recherches - difficultés

pasquetp

XLDnaute Occasionnel
Bonjour à toutes et à tous,

Je vous contacte car je coince sur un petit projet.

Je me suis fait un petit programme compte et dans un formulaire j'ai deux combobox: voir piece jointe

j'ai un doublon pour l'operation préciuse et un autre pour la catégorie/domaine.

ca marche dans le sens suivant:

etape 1 : je mets une categorie/domaine.
etapes 2: ensuite dans le combobox operation : j'ai ma liste

de cette facon ca marche nikel

Le problème est le suivant:

j'ai tenté de faire l'inverse: commencer par l’opération et suivre avec le groupe relié

mais j'ai des conflits.

je souhaiterai pouvoir commencer par n'importe quel combobox. de cette facon j’aurai deux facon de rechercher: soit par domaine suivi de l'operation soit on cherche l'operation et ca m'affiche dans le second la categorie correspondante.

auriez vous une idée?

Merci d'avance.

Pierre
 

Pièces jointes

  • test.xls
    63 KB · Affichages: 47
  • test.xls
    63 KB · Affichages: 46
  • test.xls
    63 KB · Affichages: 44

pasquetp

XLDnaute Occasionnel
Re : deux combobox - double recherches - difficultés

Cher Dranreb,

Merci de votre fichier qui est vraiment complet et répond aux besoins.

Excusez moi pour le retard.

Je me demandai si vous auriez une macro sans module de classe. je n'y connais rien du tout malheureusement.

Si ce n'est pas possible ce n'est pas grave. en tout cas j’apprécie bcp votre fichier et vos efforts
 

Dranreb

XLDnaute Barbatruc
Re : deux combobox - double recherches - difficultés

Bonjour.
Je n'ai pas cet article dans mes tiroirs. Je ne saurais pas faire aussi modulaire et simple d'utilisation sans module de classes.
Il n'y a pas grand chose à savoir, je trouve, pour comprendre les modules de classes:

La base :
- Leurs noms devienne des type de données utilisables dans les déclarations Dim, Public ou Private. Les variables déclarées d'un tel type s'appellent des objets. On dit parfois plutôt des instances d'objets pour éviter toute confusion avec le type d'objet.
- Leurs variables Public peuvent être utilisées précédées du nom de la variable objet suivie d'un point. On les appelle des propriétés. Les propriétés sont propres à l'instance de l'objet: chaque variable de ce type d'objet a son propre jeux de ces propriétés là. C'est pourquoi on les appelle des propriétés: elle sont propres à chaque variable de ce type d'objet.
- Leurs procédures Public peuvent être exécutées précédées du nom de la variable objet suivie d'un point. On les appelle des méthodes. C'est le même code pour tous les objets de ce type (le code est attaché au type, non à l'instance).
- Précédé du mot clé New, le nom du module de classe forme une expression qui représente une nouvelle instance de ce type d'objet. C'est un mot clé puissant puisqu'il alloue des ressources pour l'objet. L'expression doit être affectée par un Set à une variable de ce type d'objet pour qu'elle soit utilisable.

Les évènement (Un module de classe peut en effet décréter des évènement (par l'instruction RaiseEvent). Ces évènements ne peuvent toutefois pas être gérés dans un module ordinaire)
- Dans un module spécial, l'objet doit être déclaré avec le mot clé WithEvents pour que ses évènements puissent y être gérés.
- Cela inscrit le nom de la variable parmi les objets connus disponibles figurant dans la liste déroulante de gauche qui surmonte la fenêtre de code. Celle de droite présente un inventaire des évènements disponibles pour cet objet. Un clic dans ces listes implante dans votre code des modèles de procédures nécessaires à gérer ces évènements (seulement l'instruction Private Sub et la End Sub).

En somme, à part la déclaration en plus et l'affectation d'une nouvelle instance, ça marche comme pour les objets définis soit par l'application hôte (WorkSheet par exemple) ou par toute autre fourniture de bibliothèque figurant dans les références du projet VBA, tel que MSForms (ComboBox par exemple). D'ailleurs vous savez, ces choses là ne sont rien d'autres que des modules de classes !

Mais soit, vous avez l'aide en plus pour vous en servir. Alors une dernière information pour comprendre mes commentaires explicatifs qui en tiennent lieu: Les évènement sont déclarés dans les modules de classes par des instructions Event. J'y explique du mieux que je peux derrière chacun d'eux dans quelles circonstances ils se produisent. Pareil, j'explique comme je peux chaque propriété et chaque méthode.

P.S. Je me suis efforcé de définir, en quelque sortes en passant, chaque terme que j'utilise plus loin. À lire deux fois de suite pour augmenter ses chances de comprendre, car la 1ère fois, comme on ne sait pas à quoi ça va servir, on ne retient pas…
 
Dernière édition:

Discussions similaires

Réponses
69
Affichages
4 K

Statistiques des forums

Discussions
312 199
Messages
2 086 157
Membres
103 137
dernier inscrit
Billly