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

Microsoft 365 Remplir une ComboBox à 3 colonnes avec les données d'un TS

NONO14

XLDnaute Occasionnel
Bonjour à toutes et à tous,
Voilà, j'ai une Combo ("Cbx_Salarié") dans un formulaire (UfGestTemps) et je souhaiterai l'alimenter avec les 3 premières colonnes d'un TS ("t_Noms") qui se trouve dans la feuille "Liste_agents". J'ai réussi à mettre la 1ère colonne, mais je n'arrive pas à insérer les 2 autres. La colonne 1 est le code de l'agent, la colonne 2 le NOM et la colonne 3 le Prénom.
Pouvez-vous m'aider s'il vous plaît ?
Voici le début du code et mon fichier
VB:
Private Sub UserForm_Initialize()
Application.ScreenUpdating = False

'Chargement des différents contrôles du formulaire
'On vide la ComboBox Cbx_Salarié
    Me.Cbx_Salarié.Clear

'On la remplie à nouveau avec le TS "t_Noms" de la feuille "Liste_agents"
    With Sheets("Liste_agents").ListObjects("t_Noms")
        For I = 1 To .ListRows.Count
            Me.Cbx_Salarié.AddItem .DataBodyRange(I, 1)
        Next I
    End With
 

Pièces jointes

  • GestPersonnnel (3).xlsm
    492.3 KB · Affichages: 9
Solution
Hello
@ChTi160 : 7 colonnes?? pourquoi faire??

tout ca me parait bien compliqué pour pas grand chose
un combo avec UNE colonne (utilisation originelle d'un combo==> sinon, on utilise un listbox)

VB:
'On vide la ComboBox Cbx_Salarié
    Me.Cbx_Salarié.Clear
    'On la remplie à nouveau avec le TS "t_Noms" de la feuille "Liste_agents"
    With Me.Cbx_Salarié
        .ColumnCount = 1
        For I = 1 To Tbl.ListRows.Count
            .AddItem Tbl.DataBodyRange(I, 2).Value & " " & Tbl.DataBodyRange(I, 3).Value & " " & Tbl.DataBodyRange(I, 1).Value 'on concatène les colonnes 
        Next I
    End With

ChTi160

XLDnaute Barbatruc
Bonjour le Fil
Je vois que dans les derniers Fichiers postés , tu as mis une Image en feuille "Accueil" qui semble représenter le personnel d'un établissement ou l'on produit de quoi manger lol
Donc , il y a différents types de fonctions non ? pourquoi ne pas avoir introduit cette Notion ?
Jean marie
 

NONO14

XLDnaute Occasionnel
Bonjour ChTi160,
En page d'accueil, ce n'est qu'une image, elle est vouée à être changé, pour le moment ce n'est juste que pour combler le vide.
 

vgendron

XLDnaute Barbatruc
pourquoi tourner en rond et passer des heures sur UNE question que tu as déjà résolu avec la boucle
et la méthode additem??

VB:
Je tape uniquement cette ligne de code ?
j'imagine que tu l'as fait.. et que donc.. ca ne fonctionne pas;. puisque le rowsource demande une chaine de caractère.. et pas directement la plage

restes donc avec le additem et passe à autre chose..
 

NONO14

XLDnaute Occasionnel
Le code que j'ai posté au #6 fonctionne bien pour remplir ma Combo. Par contre, lorsque je clique sur un des Noms de la liste, seul le code reste dans la Combo et j'aimerai que les 3 restent affichés.
Comme faire s'il vous plaît ?
 

NONO14

XLDnaute Occasionnel
Tu as raison.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…