Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Relation entre 2 ComboBox

  • Initiateur de la discussion Initiateur de la discussion elliotr
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

elliotr

Guest
Bonjour à tous,

Je vous joins 2 fichiers pour résoudre le problème:
-Fichier test sur lequel il faudrait appliquer le code
-"JeVeuxCa" qui correspond à la relation recherchée entre les 2 ComboBox


Si vous ouvrez le fichier "JeVeuxCa" vous verrez qu'en activant le USERFORM et en sélectionnnant un critère dans la première combobox, les critères de la COMBOBOX2 apparaissent (seulement ceux qui sont liés au critère de la combobox 1)


C'est donc l'objet de ma recherche: Une sorte de tri entre 2 Combobox qui seront dans mon fichier original Codes et Sociétés.

En effet, l'affichage par tri "Code" est déjà codé il n'y a pas besoin d'y toucher.
Mais j'ai rajouté une deuxieme combobox qui permet une recherche par Sociétés: il faudrait donc qu'en choisissant une société , apparaissent tous les codes liés à la société.

Les données sont situées dans l'onglet "Base de données":
-Code = colonne A
-Sociétés= colonne AN




Merci beaucoup à ceux qui m'aideront !
Bonne journée !
 

Pièces jointes

Dernière modification par un modérateur:
Re : Relation entre 2 ComboBox

Bonjour le Fil,
Et à tous aussi.
J'ai modifié à ma façon cela est bien plus simple pour toi surtout avec que 2 combobox
J'ai mis des lettres avec chiffres dans les noms de sociétés (+ facile pour gérer)
Si toutefois c'était des chiffres il faudrait modifier en macro.
Bruno
Code:
Option Explicit
Private Sub UserForm_Initialize()
Dim MonDico As Object
Dim c
With Feuil1 '''''''''''''''''''''''''''''''''''''''''REVOIR LE CODENAME de l'onglet
Set MonDico = CreateObject("Scripting.Dictionary")
   For Each c In .Range(.[AN2], .Cells(Rows.Count, "AN").End(xlUp))
      If Not MonDico.Exists(c.Value) And c.Value <> "" Then MonDico.Add c.Value, c.Value
   Next c
   Me.ComboBox1.List = MonDico.items
 End With
End Sub
Private Sub ComboBox1_Change()
Dim MonDico As Object
Dim c
With Feuil1 ''''''''''''''''''REVOIR LE CODENAME de l'onglet
ComboBox2.Text = ""
Set MonDico = CreateObject("Scripting.Dictionary")
   For Each c In .Range(.[AN2], .[AN65000].End(xlUp))
   If ComboBox1.Text = c.Value Then
   If Not MonDico.Exists(.Cells(c.Row, 1)) Then
   MonDico.Add .Cells(c.Row, 1).Value, .Cells(c.Row, 1).Value
   End If
   End If
   Next c
   Me.ComboBox2.List = MonDico.items
End With
    'Remplissage Combo2
End Sub
Private Sub CommandButton1_Click()
Unload UserForm1
End Sub
 

Pièces jointes

Re : Relation entre 2 ComboBox

Bonjour.
Quel est donc ce mystère ?
Dans ce fichier que je joins, je clique sur le bouton formulaire.
Dans le ComboBox de droite, il m'est proposé "x" ou "y". Et quand j'en choisis un, il me propose bien les code du "x" ou du "y" dans le ComboBox de gauche. Pourquoi ça ne marche pas chez vous ? Vous n'auriez pas remis ces satanés RowSource par hasard ? Il sont inutiles puisque dans les CascSoc.Add vous spécifiez les colonne avec lesquelles il doit se débrouiller.

À +
 

Pièces jointes

Re : Relation entre 2 ComboBox

Ça ne me dit toujours pas si ça fonctionne enfin chez vous, surtout si vous vous vous êtes rabattu sur une autre solution, automatiquement moins bonne, et moins facile à gérer, comme le prouve votre nouvelle discussion !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

R
Réponses
20
Affichages
4 K
RaVenSs
R
N
Réponses
3
Affichages
1 K
ninajams
N
P
Réponses
2
Affichages
1 K
Ptrs32
P
Y
Réponses
16
Affichages
2 K
Yvouille
Y
P
Réponses
8
Affichages
1 K
D
Réponses
13
Affichages
4 K
David2Coree
D
L
Réponses
20
Affichages
3 K
M
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…