XL 2019 ComboBox afficher 2 colonnes

  • Initiateur de la discussion Initiateur de la discussion exe76
  • 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 !

exe76

XLDnaute Nouveau
Bonjour,
je suis novice en VBA et j'aimerai dans une ComboBox afficher 2 élément Nom et Prénom qui se situent en colonne A et B de mes feuilles de calculs.

VB:
Private Sub ComboBox1_Change()
  If Me.ComboBox1.Value = "" Then Exit Sub
  Dim i As Long
  For i = 2 To Sheets(Me.ComboBox1.Value).Range("A" & Rows.Count).End(xlUp).Row
    Me.ComboBox2.AddItem Sheets(Me.ComboBox1.Value).Range("A" & i).Value
    Me.ComboBox2.List(Me.ComboBox2.ListCount - 1, 1) = i
  Next
End Sub

Ma ComboBox1 me permet de sélectionner ma feuille de calcul
La ComboBox2 sélectionne nom et prénom de cette même feuille.

J'ai bien un Column count a 2 j'arrive a obtenir le Nom (colonne A) mais pas le prénom en colonne B a la place j'arrive juste a avoir le numéro de la ligne du prénom.

en espérant que vous pourrez m'aider
merci d'avance
 
Solution
bonjour
remplaces
VB:
Me.TextBox1.Value = Sheets(Me.ComboBox1.Value).Range("A" & Me.ComboBox2.Column(1)).Value

par

Me.TextBox1.Value = Sheets(Me.ComboBox1.Value).Range("A" & Me.ComboBox2..listindex+2).Value

pour le premier ; les autres lignes : pareil

nota: dans la propriété listindex est rangé le numéro de l'item sélectionné ( le premier ayant listindex à 0) d'où le +2 car ta liste commences en ligne 2 dans ta feuille
bonjour
A tester

VB:
Private Sub ComboBox1_Change()
  If Me.ComboBox1.Value = "" Then Exit Sub
  Dim i As Long
  For i = 2 To Sheets(Me.ComboBox1.Value).Range("A" & Rows.Count).End(xlUp).Row
    Me.ComboBox2.AddItem
    Me.ComboBox2.List(Me.ComboBox2.ListCount - 1, 0) = Sheets(Me.ComboBox1.Value).Range("A" & i)
    Me.ComboBox2.List(Me.ComboBox2.ListCount - 1, 1) =  Sheets(Me.ComboBox1.Value).Range("B" & i)
  Next
End Sub
 
bonjour
Add item : on a joute un item ( une ligne dans la combo box)
donc a la première boucle la list count est de 1 dans la combo box
Me.ComboBox2.List(Me.ComboBox2.ListCount - 1, 0) : la liste de la combo box commence à l'index 0 d'ou le list count est -1

concernant le 0 et le 1 , c'est le numéro de colonne de la combo box ( la aussi le nb de colonne commence à zéro ) donc la colonne 1 de la combo est le zéro et la colonne 2 est le 1.
voila
peut être pas très clair mon explication ?😉
 
merci pour tes explications ! oui j'ai compris maintenant par contre quand je sélectionne le nom dans la ComboBox j'ai un erreur dans l'affichage dans mes textbox maintenant
erreur d'execution 1004 erreur définie par l'application ou par l'objet !
une idée ?
VB:
Private Sub ComboBox2_Change()
  If Me.ComboBox2.Value = "" Then Exit Sub
  Me.TextBox1.Value = Sheets(Me.ComboBox1.Value).Range("A" & Me.ComboBox2.Column(1)).Value
  Me.TextBox2.Value = Sheets(Me.ComboBox1.Value).Range("B" & Me.ComboBox2.Column(1)).Value
  Me.TextBox3.Value = Sheets(Me.ComboBox1.Value).Range("C" & Me.ComboBox2.Column(1)).Value
  Me.TextBox5.Value = Sheets(Me.ComboBox1.Value).Range("D" & Me.ComboBox2.Column(1)).Value
  Me.TextBox6.Value = Sheets(Me.ComboBox1.Value).Range("E" & Me.ComboBox2.Column(1)).Value
End Sub
 
bonjour
remplaces
VB:
Me.TextBox1.Value = Sheets(Me.ComboBox1.Value).Range("A" & Me.ComboBox2.Column(1)).Value

par

Me.TextBox1.Value = Sheets(Me.ComboBox1.Value).Range("A" & Me.ComboBox2..listindex+2).Value

pour le premier ; les autres lignes : pareil

nota: dans la propriété listindex est rangé le numéro de l'item sélectionné ( le premier ayant listindex à 0) d'où le +2 car ta liste commences en ligne 2 dans ta feuille
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
247
Réponses
3
Affichages
598
Réponses
3
Affichages
463
Retour