5 combobox avec listes différentes. 1 seule cellule a remplir selon choix [Résolu]

Signaler
Messages postés
56
Date d'inscription
jeudi 23 mars 2017
Statut
Membre
Dernière intervention
9 mars 2020
-
Messages postés
11775
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 août 2020
-
Bonjour,
Je souhaite remplir une cellule (AI) via une combobox.
J'ai 6 combo différentes. je les rend apparentes unitairement après avoir fait le choix d'une de ces dernières dans une autre combo.
Mon codage n'est pas bon et n'accepte que les valeurs d'une seule liste, en l'occurence la dernière dans le codage.

Private Sub BtnAjout_Click()
Dim g As Integer
g = Range("AH" & Rows.Count).End(xlUp).Row
Range("AH" & g + 1).Value = ComboBox6
Range("AI" & g + 1).Value = ComboBox7
Range("AI" & g + 1).Value = ComboBox14
Range("AI" & g + 1).Value = ComboBox17
Range("AI" & g + 1).Value = ComboBox16
Range("AI" & g + 1).Value = ComboBox15
Range("AI" & g + 1).Value = ComboBox18
Range("AJ" & g + 1).Value = ComboBox8
Range("AK" & g + 1).Value = ComboBox9
Range("AL" & g + 1).Value = TextBox2
Range("AM" & g + 1).Value = ComboBox12
Range("AN" & g + 1).Value = ComboBox10
Range("AO" & g + 1).Value = TextBox1


'Remet toutes les fenêtres des infos à O après saisie et click (FORMULE VALIDE)
ComboBox7 = ""
ComboBox8 = ""
ComboBox9 = ""
ComboBox10 = "-"
ComboBox14 = ""
ComboBox15 = ""
ComboBox16 = ""
ComboBox18 = ""
ComboBox18 = ""
TextBox1 = "-"
TextBox2 = "-"
MsgBox "Les informations saisies ont bien été enregistrées. Merci."
End Sub

Les combo concernées sont les 7-14-15-16-17-18
Je pense qu'elles sont "lues" l'une après l'autre et que la dernière efface l'avant dernière et ainsi de suite...
Quelqu'un pourrait-il corriger ce défaut afin que la cellule puisse récupérer par exemple la valeur de la combo16 si cette dernière a été choisie?

Merci pour votre aide.

7 réponses

Messages postés
11775
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 août 2020
674
bonjour, je ne comprends pas.
AI est une colonne, pas une cellule.
tu commences par écrire "une combobox", puis, à la ligne suivante, il y en a 6.
n'imagine surtout pas que ton code va nous aider à comprendre ce que tu veux obtenir.
Messages postés
56
Date d'inscription
jeudi 23 mars 2017
Statut
Membre
Dernière intervention
9 mars 2020

Bonjour,
Effectivement, AI n'est pas une cellule, désolé...
C'est effectivement une colonne. Je souhaite juste remplir automatiquement un tableau (appelé "ListeSource" dans "Tableau de bord").
Pour toutes les autres colonnes "AH >AO" sauf AI, les codes fonctionnent et le tableau se remplit normalement.
Comme je l'explique plus haut, je suis confronté pour le remplissage de cette colonne à un choix multiple de listes déroulantes ayant bien sur, des codes différents. Chaque liste représente un "groupe de travail différent" (Business Unit). Le trop grand nombre de références m’empêche de n'avoir qu'une liste (trop lourde et démotivante pour les potentiels utilisateurs).

Je te joins mon fichier afin de mieux comprendre ma problématique.
https://mon-partage.fr/f/c7m4NHic/

PS : j'avais mis mon code mais sans grand espoir... vues mes connaissances, je préfère jouer l'humilité.
Merci pour ton aide.
Messages postés
56
Date d'inscription
jeudi 23 mars 2017
Statut
Membre
Dernière intervention
9 mars 2020

J'ai juste oublié de préciser que toutes les références, qu'importe la liste déroulante d'où elles proviennent, doivent venir alimenter les cellules de la colonne AI.
Messages postés
11775
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 août 2020
674
veux-tu que la cellule en AI récupère la valeur d'une des combobox 7-14-15-16-17-18, une où il y a une valeur non nulle?
Messages postés
11775
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 août 2020
674
veux-tu que la cellule en AI récupère la valeur d'une des combobox 7-14-15-16-17-18, une où il y a une valeur non nulle?
si c'est cela, une suggestion, avec juste 7 et 14:
If Me.ComboBox7 <> "" Then
    Range("AI" & g + 1).Value = Me.ComboBox7
ElseIf Me.ComboBox14 <> "" Then
    Range("AI" & g + 1).Value = Me.ComboBox14
End If
Messages postés
56
Date d'inscription
jeudi 23 mars 2017
Statut
Membre
Dernière intervention
9 mars 2020

Bonjour,
Je pense que tu as bien cerné ma problématique.
Effectivement, je cherche à récupérer en AI la valeur d'une des 6 combobox où il y a une valeur non nulle.

Comme tu peux le constater dans le tableau, cette colonne collecte les divers codes produits de chaque BU. Les autres valeurs sont communes (dates, code client, prix, etc...).

Le formulaire ne permettra que de saisir des valeurs correspondantes à la BU sélectionnée (par l'intermédiaire de la combobox6). Je vais mettre les 6 combo les unes sur les autres et, seule apparaitra la liste déroulante sélectionnée par la combo6.

Merci encore pour ton aide. Je dois présenter un fichier fini à mon boss la semaine prochaine. Je pense qu'on y sera.
Messages postés
11775
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 août 2020
674
as-tu pu adapter ma suggestion pour finaliser?
Messages postés
56
Date d'inscription
jeudi 23 mars 2017
Statut
Membre
Dernière intervention
9 mars 2020

Génial ! Ça fonctionne apparemment très bien !
Je suppose qu'il me faut ajouter le même code pour les autres combo dont je veux extraire les codes ?
Messages postés
11775
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 août 2020
674
exact, tu rajoutes des copies des lignes 3 et 4 avant la ligne 5.
Messages postés
56
Date d'inscription
jeudi 23 mars 2017
Statut
Membre
Dernière intervention
9 mars 2020

Je reprends tes codes

If Me.ComboBox7 <> "" Then
Range("AI" & g + 1).Value = Me.ComboBox7
ElseIf Me.ComboBox14 <> "" Then
Range("AI" & g + 1).Value = Me.ComboBox14
End If

J'ai compris qu'il faut rajouter avant End If. Par contre pour les combos supplémentaires, je dois commencer pour chaque par "ElseIf" ?
Messages postés
56
Date d'inscription
jeudi 23 mars 2017
Statut
Membre
Dernière intervention
9 mars 2020

Inutile de répondre à ma question précédente.

CA MARCHE !!!!

Je ne peux que dire Merci, merci, merci.
Messages postés
11775
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 août 2020
674
parfait, peux-tu alors marquer la discussion comme résolue?