Définir les valeurs d'une listBox en fonction d'une autre
#jquem#
Messages postés
76
Statut
Membre
-
via55 Messages postés 14730 Statut Membre -
via55 Messages postés 14730 Statut Membre -
Bonjour,
je souhaiterais attribuer des listes différentes dans ma listbox en fonction d'une autre listbox.
Pour résumer, j'ai une listbox avec 5 (A à E)valeurs. Chaque valeur correspond à une liste (donc, 5 listes (ListeA à ListeE) regroupées pour le moment en une seule,.ce qui freine considérablement la recherche)
Ce qu'il faudrait :
ValeurA = ListeA (le choix de la valeur A dans la première listbox déclenche l'ouverture le la liste A dans la deuxième
ValeurB = ListeB.
et ainsi de suite jusqu'à E.
Quelqu'un pourrait-il me traduire cela en VBA ?
Merci d'avance pour votre aide.
je souhaiterais attribuer des listes différentes dans ma listbox en fonction d'une autre listbox.
Pour résumer, j'ai une listbox avec 5 (A à E)valeurs. Chaque valeur correspond à une liste (donc, 5 listes (ListeA à ListeE) regroupées pour le moment en une seule,.ce qui freine considérablement la recherche)
Ce qu'il faudrait :
ValeurA = ListeA (le choix de la valeur A dans la première listbox déclenche l'ouverture le la liste A dans la deuxième
ValeurB = ListeB.
et ainsi de suite jusqu'à E.
Quelqu'un pourrait-il me traduire cela en VBA ?
Merci d'avance pour votre aide.
A voir également:
- Définir les valeurs d'une listBox en fonction d'une autre
- Fonction si et - Guide
- Définir google comme page d'accueil - Guide
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? ✓ - Forum Excel
- Comment colorer une cellule excel en fonction du contenu d'une autre cellule - Forum Bureautique
- Colorer une cellule en fonction de la valeur d'une autre cellule - Forum Excel
7 réponses
Bonjour
Peux tu fournir un exemple de ton fichier en le postant sur mon-partage.fr; en copiant le lien créé et en revenant le coller ici
Cdlmnt
Via
Peux tu fournir un exemple de ton fichier en le postant sur mon-partage.fr; en copiant le lien créé et en revenant le coller ici
Cdlmnt
Via
Bonjour et merci pour ta réponse. Désolé pour mon retard, mais mon ordi pro ne voulait rien savoir pour répondre...
Voici ci-dessous mon fichier.
https://mon-partage.fr/f/oWGGhk85/
Mon problème actuel est que je recherche les codes sans notion de BU. De ce fait, je me retrouve avec une liste de codes beaucoup trop important, et cela freine considérablement la recherche, voire, plante le tout...
Je voudrais, dans la partie bleue de mon formulaire, pouvoir créer des listes dans la listBox "CODE" en ayant fait un choix auparavant dans la listBox "BU". Même chose dans la partie grise, création de liste dans "Codes produits" après avoir sélectionné la BU dans la listBox du même nom.
Je pense que cela devrait alléger la recherche.
Les valeurs de ces listes se trouvent dans un onglet appelé "BUPROD".
Si tu peux pouvais m'apporter ton aide, ce serait vraiment sympa, je dois présenter ce tableau la semaine prochaine.
merci par avance.
Cdt
Voici ci-dessous mon fichier.
https://mon-partage.fr/f/oWGGhk85/
Mon problème actuel est que je recherche les codes sans notion de BU. De ce fait, je me retrouve avec une liste de codes beaucoup trop important, et cela freine considérablement la recherche, voire, plante le tout...
Je voudrais, dans la partie bleue de mon formulaire, pouvoir créer des listes dans la listBox "CODE" en ayant fait un choix auparavant dans la listBox "BU". Même chose dans la partie grise, création de liste dans "Codes produits" après avoir sélectionné la BU dans la listBox du même nom.
Je pense que cela devrait alléger la recherche.
Les valeurs de ces listes se trouvent dans un onglet appelé "BUPROD".
Si tu peux pouvais m'apporter ton aide, ce serait vraiment sympa, je dois présenter ce tableau la semaine prochaine.
merci par avance.
Cdt
Bonjour
1) Nomme toutes tes plages de BURPROD par leur titre
Tu peux les nommer de façon dynamique de manière à ce que la référence s'adapte si tu rajoutes ou supprimes des items
Par ex pour la1ere à l'aide du Gestionnaire de noms - Définir un nom, comme nom tu mets OSE et dans Fais référence à la formule : =DECALER(BUPROD!$A$2;;;NBVAL(BUPROD!$A:$A)-1)
2) Dans ton userform dans l'éditeur clic droit sur la combobox de BU puis sur Code et tu complètes la Private sub de manière à avoir :
Cdlmnt
Via
1) Nomme toutes tes plages de BURPROD par leur titre
Tu peux les nommer de façon dynamique de manière à ce que la référence s'adapte si tu rajoutes ou supprimes des items
Par ex pour la1ere à l'aide du Gestionnaire de noms - Définir un nom, comme nom tu mets OSE et dans Fais référence à la formule : =DECALER(BUPROD!$A$2;;;NBVAL(BUPROD!$A:$A)-1)
2) Dans ton userform dans l'éditeur clic droit sur la combobox de BU puis sur Code et tu complètes la Private sub de manière à avoir :
Private Sub ComboBox6_Change() ComboBox7.RowSource = "=" & ComboBox6.Value End Sub
Cdlmnt
Via
J'ai suivi les conseils de ton premier paragraphe, pas de soucis. Pour le deuxième, je n'ai rien compris.
De plus, dans la combobox BU, faut-il que je change les valeurs de base que je lui avais donné ?
Je te joins mon fichier modifié.
https://mon-partage.fr/f/HgRcIvEy/
Peux tu le regarder à nouveau et me réexpliquer la deuxième partie et son cheminement ? Personnellement, je ne connais quasiment rien, je me forme seul au fur et à mesure.
Merci encore
Cdt
De plus, dans la combobox BU, faut-il que je change les valeurs de base que je lui avais donné ?
Je te joins mon fichier modifié.
https://mon-partage.fr/f/HgRcIvEy/
Peux tu le regarder à nouveau et me réexpliquer la deuxième partie et son cheminement ? Personnellement, je ne connais quasiment rien, je me forme seul au fur et à mesure.
Merci encore
Cdt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
1) Tu as mis comme noms des plages NOMOSE, NOMAE etc au lieu de simplement OSE, AE etc (puisque ce sont ces termes qui sont dans liste déroulante du combobx BU
Modifies déjà ces noms
2) Tu ouvres l'éditeur VBA
Tu cliques dans l'arborecence de gauche à Feuilles - Userform1 pour faire afficher ton UF dans l'éditeur. Tu cliques droit dans l'UF sur le combobox, tu choisis Code dans le menu qui s'affiche
et tu dois obtenir ta page des macros associées à l'UF avec en tête
tu mets dans cette Private Sub l'instruction
End Sub</code>
pour qu'à chaque changement dans le combobox6 (BU) la propriété RowSource (la plage source) soit modifiée; si dans Combobox6 tu choisis OSE la propriété RowSource de Combobox7 sera =OSE etc correspondant à tes plages nommées comme dit au 1)
Cdlmnt
Modifies déjà ces noms
2) Tu ouvres l'éditeur VBA
Tu cliques dans l'arborecence de gauche à Feuilles - Userform1 pour faire afficher ton UF dans l'éditeur. Tu cliques droit dans l'UF sur le combobox, tu choisis Code dans le menu qui s'affiche
et tu dois obtenir ta page des macros associées à l'UF avec en tête
Private Sub ComboBox6_Change() End sub
tu mets dans cette Private Sub l'instruction
ComboBox7.RowSource = "=" & ComboBox6.Value
End Sub</code>
pour qu'à chaque changement dans le combobox6 (BU) la propriété RowSource (la plage source) soit modifiée; si dans Combobox6 tu choisis OSE la propriété RowSource de Combobox7 sera =OSE etc correspondant à tes plages nommées comme dit au 1)
Cdlmnt
Merci !
Globalement, ça marche bien pour les listes. Le problème associé est que lorsque je clique sur le bouton "Insérer données", ça me laisse un message de débogage avec le code erreur "380". Ça me jaunit la partie suivante...
ComboBox7.RowSource = "=" & ComboBox6.Value
Ci-joint mon fichier modifié (j'ai modifié les noms en les remettant normalement (ONE, CC, CVS, etc...))
https://mon-partage.fr/f/vAHubIfA/
On y est presque. Merci encore
Cdt
Globalement, ça marche bien pour les listes. Le problème associé est que lorsque je clique sur le bouton "Insérer données", ça me laisse un message de débogage avec le code erreur "380". Ça me jaunit la partie suivante...
ComboBox7.RowSource = "=" & ComboBox6.Value
Ci-joint mon fichier modifié (j'ai modifié les noms en les remettant normalement (ONE, CC, CVS, etc...))
https://mon-partage.fr/f/vAHubIfA/
On y est presque. Merci encore
Cdt