[RESOLU] VBA - Combobox liées ET indépendantes

tsikoudia91

XLDnaute Nouveau
Bonjour le forum,

Je dois gérer la liste de la documentation juridique de ma société. Au début j'ai mis en place un filtre automatique sur mon fichier Excel (mais apparemment, c'est "trop dur" à utiliser...) J'ai donc décidé de m'attaquer à un "moteur de recherche" grâce à VBA.
Mon fichier a donc plusieurs feuilles comme suit :
1. Bienvenue = UserForm permettant à l'utilisateur de retrouver la doc souhaitée.
2. Liste = base de données
3. Résultat = une fois les choix validés, ne restera plus qu'à exporter les lignes correspondantes dans cette feuille (encore faut-il que mon formulaire soit correctement rempli...) :)

Je voudrais alimenter 3 Combobox du formulaire (Client, Affaire, N° dossier) par les données de la feuille "Liste".

J'ai donc ce code, simplissime.
-------
Private Sub UserForm_Initialize()

With Sheets("Liste")
ComboBox1.List = .Range("F2:F" & .Range("F65536").End(xlUp).Row).Value
ComboBox2.List = .Range("G2:G" & .Range("G65536").End(xlUp).Row).Value
ComboBox3.List = .Range("H2:H" & .Range("H65536").End(xlUp).Row).Value
End With
-------

Je sais que l'on peut créer des Combobox en cascade avec possibilité de trier les données, sans doublons, mais j'ai cru comprendre que c'était la première qui initiait la recherche.
D'où mon problème : je voudrais que l'utilisateur puisse remplir selon son choix telle combobox. Il arrive par exemple qu'il se souvienne du n° de dossier mais pas du client (rare, mais ça arrive).

Pensez-vous que ce soit possible ?

Merci pour tous les éclaircissements que vous voudrez bien m'apporter.

Marie
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : VBA - Combobox liées ET indépendantes

Bonjour.
Oui, oui, c'est possible.
Mais moins rapide qu'avec des ComboBox en cascade. Ca implique un bouton pour effacer tous les ComboBox en même temps pour pouvoir sortir d'une situation bloquée où chacun ne détermine plus qu'un seule choix en fonction des autres.
Je cherche une application pour tester mon module de classe ComboBoxLiés.
Joignez votre classeur avec votre userform. Il y aura quelques modules de service spécialisés à ne pas adapter: 3 modules de classe et un module ordinaire, mais en contrepartie la programmation dans l'userform sera considérablement simplifiée : à peu près 3 lignes où vous reconnaitrez la substance des 3 que vous avez mis dans l'UserForm_Initialize, et c'est tout. L'exploitation des choix se fera dans une procédure évènement, vous êtes quant à vous déchargé de toute programmation se rapportant au suivi des choix.
Remarque: il est aussi concevable d'utiliser ComboBoxCasc, plus rapide, avec un système permettant de changer l'ordre des ComboBox. Des dispositifs y sont prévus à cet effet.
À +
 
Dernière édition:

tsikoudia91

XLDnaute Nouveau
Re : VBA - Combobox liées ET indépendantes

Merci Dranreb

Est-ce normal que je comprenne un mot sur deux ? Il me tarde de lire la suite :)
Mon niveau VBA s'approchant du débutant, je farfouille à droite à gauche sur ce forum (je récolte au passage des tas d'idées pour d'autres projets). :D

Ci-joint mon fichier, expurgé de plusieurs lignes (la BDD en comporte plus de 500), données confidentielles et autres images. J'ai rajouté depuis quelques feuilles, dont "Explication formulaire". Je sais, le formulaire est très simple mais je préfère m'assurer que mon projet soit compréhensible.

Attention, ce n'est qu'une ébauche. C'est la raison pour laquelle il y a d'autres formulaires. J'avais exploré d'autres pistes, comme exporter les résultats dans un deuxième UserForm avec la commande "ListView" mais comme la BDD est amenée à évoluer (avec liens vers des pdfs), j'ai préféré simplifier le plus possible. Je n'ai pas voulu l'effacer. Qui sait, cela pourra me servir pour un prochain projet ? :p

Merci pour tous les éclaircissements que vous voudrez bien m'apporter.

Marie.
 

Pièces jointes

  • Test Documentation juridique.zip
    90.9 KB · Affichages: 119

patoq

XLDnaute Occasionnel
Re : VBA - Combobox liées ET indépendantes

Bonjour Tsikoudia, Dranreb, le forum

Je suis moi même intéressé par "Combobox liés" car j'ai un fichier ou j'aimerais pouvoir choisir un ordre quelconque pour les combobox (4 au total ,voir 5 plus tard).

De plus , j'aimerais avoir le résultat dans une listbox, est ce possible ?

Merci de votre réponse Dranreb et j'ouvrirais un fil dédié.

Cdt
 

Dranreb

XLDnaute Barbatruc
Re : VBA - Combobox liées ET indépendantes

Voyez si ça vous convient.

Il serait tout à fait possible d'envoyer aussitôt la sélection en cours dans une ListBox, pour y terminer un choix unique au final par exemple. La vider dans la procédure Change, la garnir dans la procédure Résultat. Ce sont deux évènements décrétés pas le module de classe ComboBoxLiés.

À +
 

Pièces jointes

  • Documentation juridique.xls
    342 KB · Affichages: 247
  • Documentation juridique.xls
    342 KB · Affichages: 215
  • Documentation juridique.xls
    342 KB · Affichages: 225

youky(BJ)

XLDnaute Barbatruc
Re : [RESOLU] VBA - Combobox liées ET indépendantes

Bonjour le fil,
Pour les recherches j'aime bien utiliser des textbox avec des filtres
C'est simple et rapide.
Voici fait sur le fichier
Bruno
 

Pièces jointes

  • Test Documentation juridique2.xlsm
    151.8 KB · Affichages: 174

Dranreb

XLDnaute Barbatruc
Re : [RESOLU] VBA - Combobox liées ET indépendantes

TRÈS IMPORTANT:
Le problème de patoq a mis en lumière une faute de programmation dans le module MDictionnArbo qui ralentissait considérablement le traitement des choix lorsque la taille de la base de donnée dépassait le millier de lignes.
Je me dois donc de vous joindre la dernière version équipée de ce module corrigé.
Cordialement.
 

Pièces jointes

  • Documentation juridique.xls
    353.5 KB · Affichages: 255
  • Documentation juridique.xls
    353.5 KB · Affichages: 243
  • Documentation juridique.xls
    353.5 KB · Affichages: 286

Discussions similaires

Réponses
4
Affichages
165