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

Microsoft 365 Alimenter une Combo Active X inséré dans une feuille de calcul

NONO14

XLDnaute Impliqué
Bonjour le forum?

Lorsque j'active la feuille de calcul "CalculHS", je souhaite alimenter la ComboBox ActiveX "Cmb_Code" de cette même feuille de calcul avec les données de la colonne "Code agent" d'un tableau structuré "t_Noms" de la feuille "Liste_agents"

J'ai fait ce code mais j'ai un message d'erreur sur la ligne définir la ComboBox "Erreur de compilation - Membre de méthode ou de données introuvable"
Pourriez-vous m'aider à résoudre ce problème s'il vous plaît ? J'ai utilisé l'aide mais je ne comprends pas.
Merci par avance

VB:
Sub AlimenterComboBox()
Dim WsCalculHS As Worksheet
Dim WsListe As Worksheet
Dim Tbl As ListObject
Dim Cell As Range
Dim Cbx As Object

    ' Définir les feuilles de calcul
    Set WsCalculHS = Sheets("CalculHS") ' Feuille de calcul contenant la ComboBox
    Set WsListe = Sheets("Liste_agents") ' Feuille de calcul contenant le tableau structuré

    ' Définir le tableau structuré
    Set Tbl = WsListe.ListObjects("t_Noms") ' Nom du tableau structuré

    ' Définir la ComboBox
    Set Cbx = WsCalculHS.Cmb_Code

    ' Vider la ComboBox avant de la remplir
    Cbx.Clear

    ' Parcourir chaque cellule de la colonne "Code agent" du tableau structuré et ajouter les valeurs à la ComboBox
    For Each Cell In Tbl.ListColumns("Code agent").DataBodyRange
        Cbx.AddItem Cell.Text
    Next Cell
End Sub
 

NONO14

XLDnaute Impliqué
J'ai trouvé la réponse
Voici le code qui fonctionne :
VB:
Sub AlimenterComboBox()
    Dim WsCalculHS As Worksheet
    Dim WsListe As Worksheet
    Dim Tbl As ListObject
    Dim Cell As Range
    Dim Cb As ComboBox ' Changez la déclaration pour éviter les conflits de type d'objet

    ' Définir les feuilles de calcul
    Set WsCalculHS = ThisWorkbook.Sheets("CalculHS") ' Feuille de calcul contenant la ComboBox
    Set WsListe = ThisWorkbook.Sheets("Liste_agents") ' Feuille de calcul contenant le tableau structuré

    ' Définir le tableau structuré
    Set Tbl = WsListe.ListObjects("t_Noms") ' Nom du tableau structuré

    ' Définir la ComboBox en utilisant OLEObjects
    Set Cb = WsCalculHS.OLEObjects("Cmb_Code").Object

    ' Vider la ComboBox avant de la remplir
    Cb.Clear

    ' Parcourir chaque cellule de la colonne "Code agent" du tableau structuré et ajouter les valeurs à la ComboBox
    For Each Cell In Tbl.ListColumns("Code agent").DataBodyRange
        Cb.AddItem Cell.Value
    Next Cell
End Sub
 

Discussions similaires

Réponses
49
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…