Rendre des combobox toutes interdépendantes dans VBA

toto13100

XLDnaute Nouveau
Bonjour à tous et à toutes

Je suis nouveau sur ce site et espère rencontrer des personnes sympas qui pourront m'aider pour résoudre mon problème.

Je suis en train d'essayer de créer une base de données fournisseurs pour mon entreprise mais je galère un peu.
Ma 1ere question est: comment rendre toutes les combobox d'un userform interdépendante?
je m'explique, j'ai bien trouvé des codes pour que le choix de la 1ere combobox détermine les choix possible dans la seconde ..... mais j'aimerais que je puisse choisir n'importe quelle combobox et que le choix que je fais dans celle la détermine les données des autres, et que lorsque j'entre une donnée de plus dans une seconde combobox ça affine encore les choix restants dans les dernières.

Merci beaucoup en espérant que certains aient les lignes de codes astucieuses
 

Pièces jointes

  • BDD2 pour envoi.xlsm
    127.6 KB · Affichages: 60
  • BDD2 pour envoi.xlsm
    127.6 KB · Affichages: 70
  • BDD2 pour envoi.xlsm
    127.6 KB · Affichages: 73

Robert

XLDnaute Barbatruc
Repose en paix
Re : Rendre des combobox toutes interdépendantes dans VBA

Bonsoir Toto, bonsoir le forum,

C'est assez complexe de faire inter agir les comboboxes entre elles. Pour la recherche, je préfère passer par une textbox de recherche qui me liste toutes les données contenant le texte recherché dans une listbox. Ensuite un double-clic dans la ligne voulue permet de dispatcher les données de la listbox dans plusieurs textboxes.
En pièce jointe ton fichier modifier avec une UserForm supplémentaire : UserForm1
Je sais que ce n'était pas la question posée mais bon...
Le fichier :
 

Pièces jointes

  • Toto_v01.xlsm
    124.1 KB · Affichages: 69

toto13100

XLDnaute Nouveau
Re : Rendre des combobox toutes interdépendantes dans VBA

Salut Robert

merci pour ta réponse et ton code, j'ai beaucoup l'idée mais j'aurais une dernière question et mon programme est fini car je l'ai continué hier.
Quel serait le code pour que lorsque je double clique sur la donnée qui m'intéresse dans ta listbox au lieu de me remplir les text box que tu as fait (et du coup qu'on supprimerait) ça remplisse tous les champs de mon USF Fiche_recap? C'est à dire qu'à partir des 8 textobox ça trouve la ligne qui sera unique dans mon excel et que ça me remplisse toutes les textbox de la fiche_recap.

merci vraiment pour ton aide
j'en vois le bout de ce programme ^^
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Rendre des combobox toutes interdépendantes dans VBA

Bonsoir Toto, bonsoir le forum,

Comme expliqué dans le code, le numéro de ligne est stocké dans la colonne 7 de la ListBox1 par la ligne :

Code:
.Column(7, .ListCount - 1) = LI.Row 'ajoute le numéro de ligne dans la colonne 7 masquée
Donc à partir du moment ou tu double-cliques sur un élément de celle-ci tu n'as plus qu'à utiliser ce numéro de ligne pour renvoyer les données dans les différentes textboxes de ton autre Userform avec un code du style
Code:
Dim LDC as integer 'déclare la variable LDC (Ligne de l'élément Double-Cliqué)
LDC = ListBox1.Columns(7, ListBox1.ListIndex)
With Fiche_recap
    .Load
    .TextBox1.Value = O.Cells(LDC, 1)
    .TextBox2.Value = O.Cells(LDC, 2)
    .TextBox1.Value = O.Cells(LDC, 3)
    .TextBox1.Value = O.Cells(LDC, 4)
    .TextBox1.Value = O.Cells(LDC, 5)
    'etc...
    .Show
End With
 

Discussions similaires

Statistiques des forums

Discussions
312 084
Messages
2 085 192
Membres
102 809
dernier inscrit
Sandrine83