Autres Afficher NOM PRENOM dans combobox

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 !

FOUQUET Yves

XLDnaute Occasionnel
Bonjour,

Je n'arrive pas à trouver la solution pour afficher NOM et PRENOM dans le même combobox.
Si quelqu'un avait une idée ou une solution, ou une correction...
Ce serait gentil.
Merci;

Je joins un exemple de mon tableur.
 
Bonjour,

Il serait plus simple de mettre le nom et le prénom dans la même colonne.

VB:
Private Sub UserForm_Initialize()
  Set f = Sheets("effectif")
  Set Rng = f.Range("B2:C" & f.[B65000].End(xlUp).Row)
  Me.ComboBox1.ColumnCount = 2
  Me.ComboBox1.List = Rng.Value
End Sub

Un crétin a supprimé mon fichier (qui ne contenait pas de données personnelles).
Je l'ai donc remis.

Boisgontier
 

Pièces jointes

Dernière édition:
Bonsoir,

J'ai essayé d’intégrer ta procédure mais je n'arrive pas à la lancer. erreur de compilation objet requis .
Elle fonctionne toute seule dans le fichier téléchargé mais pas dans mon Userform de gestion des adhérents...
Où est l'erreur

VB:
Private Sub UserForm_Initialize()    '---- Affichage NOM et PRENOM dans le "combobox1" à partir de la feuille "Effectif".
Dim j As Long
Dim i As Integer
Dim eff_total As Integer
Dim [B]f[/B] As [B]Range[/B]                      ' Quel type de variable SVP
Dim [B]Rng[/B] As [B]Long[/B]                   ' quel type de variable SVP

eff_total = 0
Set [B]f[/B] = Sheets("Effectif")
 With Me.ComboBox1
   Set [B]Rng[/B] = f.Range("B2:C" & f.[B65000].End(xlUp).Row)
   Me.ComboBox1.ColumnCount = 2
   Me.ComboBox1.List = Rng.Value
 
   eff_total = eff_total + 1   'Je compter le nombre d'adhérents et je l'affiche dans le textbox14.
   TextBox14.Value = (eff_total)
 End With
End Sub
'----------------------------
Merci de ton aide.
 
Bonsoir camarade,

OK j'ai copié ta proposition et cela fonctionne!
mais maintenant j'ai un autre problème qui se crée.

et quand je sélectionne un adhérent dans le combobox cela plante et il ne s'affiche pas dans les textboxs.
VB:
Private Sub ComboBox1_Change()
Dim ligne As Long
Dim i As Integer
Dim num_adherent As Integer
ligne = Me.ComboBox1.ListIndex + 2
  For i = 1 To 13    ' ----- 13 textbox à compléter et afficher
    Me.Controls("TextBox" & i) = Ws.Cells(ligne, i + 1)
  Next i
End Sub
...
"Variable objet ou variable du bloc white non définie"
Je pense qu'il doit y avoir un problème d'index... mais où.
 
Dernière édition:
Re

En cas de problème avec un code, on peut ajouter des Msgbox pour voir ce qui se passe
VB:
Private Sub ComboBox1_Change()
Dim ligne As Long
Dim i As Integer
Dim num_adherent As Integer
ligne = Me.ComboBox1.ListIndex + 2
Msgbox ligne
  For i = 1 To 13    ' ----- 13 textbox à compléter et afficher
MsgBox Me.Controls("TextBox" & i).Name
MsgBox Ws.Cells(ligne, i + 1)
   ' Me.Controls("TextBox" & i) = Ws.Cells(ligne, i + 1)
  Next i
End Sub
Ca peut permettre de voir ou cela coince 😉

Excel jamais ne s'aviserait d'écrire cela 😉
"Variable objet ou variable du bloc white non définie"
Sauf peut-être sur le PC d'un membre du KKK.

NB: A quoi correspond la variable Ws dans ton code?
 
Code:
Private Sub UserForm_Initialize() 'à l'initialisation de l'userform
' --------------------------------------------------------
Dim j As Long
Dim i As Integer
Dim eff_total As Integer
Dim f As Worksheet
Dim Rng As Range

eff_total = 0
Set f = Sheets("Effectif")
   Set Rng = f.Range("B2:C" & f.[B65000].End(xlUp).Row)
   Me.ComboBox1.ColumnCount = 2
   Me.ComboBox1.List = Rng.Value
    
    For j = 2 To f.Range("B" & Rows.Count).End(xlUp).Row
    eff_total = eff_total + 1
    TextBox14.Value = (eff_total)
    Next j
 
   eff_total = eff_total + 1   'Je compter le nombre d'adhérents et je l'affiche dans le textbox14.
   TextBox14.Value = (eff_total)
End Sub

'============================== Si combobox change et ça plante !! =================================================
Private Sub ComboBox1_Change()
Dim ligne As Long
Dim i As Integer

ligne = Me.ComboBox1.ListIndex + 2
  For i = 1 To 13    ' ----- 13 textbox à compléter et afficher
    Me.Controls("TextBox" & i) = Ws.Cells(ligne, i + 1)
  Next i
End Sub
 
C'est là que çà plante... ligne en jaune
Me.Controls("TextBox" & i) = Ws.Cells(ligne, i + 1)


Alors qu'avant cela marchait ...
J'ai réglé l'affichage du nom et prénom (c'est chouette) mais je dois avoir écrit tout ça bizarrement car dès que j'interviens sur le combobox pour sélectionner un nom! Tilt!!
 
Ouais!!!! tu es THE KING!!!
Bon c'est quand que j'arrive à ton niveau? Explique moi STP la différence des deux lignes en mots simples...
Me.Controls("TextBox" & i) = Ws.Cells(ligne, i + 1)
Me.Controls("TextBox" & i) = Sheets("Effectif").Cells(ligne, i + 1)
ta ligne fait référence à la "feuille" mais quelle différence entre Ws. et Sheets ("effectif")
 
- 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

Réponses
0
Affichages
236
Réponses
1
Affichages
180
Réponses
2
Affichages
83
Réponses
5
Affichages
121
Réponses
4
Affichages
110
Retour