Vba - combobox

Tehani_t Messages postés 245 Statut Membre -  
Tehani_t Messages postés 245 Statut Membre -
Bonjour,

Dans un combobox, j'ai une liste de 5 colonnes, quand je sélectionne, une ligne, seul le premier élément de la ligne apparait, comment faire pour afficher les 5 données ?

Merci par avance

3 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    bonjour

    comment faire pour afficher les 5 données ?

    Si j'ai compris ta question, en fait, ce qu'il te manque c'est l'initialisation de la propriété ColumnCount. soit tu la défini dans les propriétés (à 1 par défaut) soit tu la met dans ton code
    Me.ComboBox1.ColumnCount = 5
    1
  2. rv83toulon
     
    Bonjour,
    comme mentionné plus haut, il faut définir la propriété "columncount" de la combo à 5 dans l'initialize de ton userform.

    Mais je pense que tu dois modifier à la fois la largeur de la combo pour pouvoir
    afficher les 5 colonnes mais aussi jouer sur la largeur de ces colonnes par la propriété "columnWidths".
    un exemple:
    -sur la feuil1 j'ai des données dans les colonnes A jusqu'a E (5 colonnes)
    -je remplis ma combo avec ces 5 colonnes
    -redéfinies la largeur de chq colonne de la combo

    voici le code :
    Private Sub UserForm_Initialize()
    With Sheets(1)
    tblcombo = .Range("A1:E" & .Range("E" & Rows.Count).End(xlUp).Row)
    End With
    
    With Me.ComboBox1
    'Définie le nbr de colonne de la combo ici 5 = col A à E
    .ColumnCount = 5
    
    'remplir la combo avec le tbl ci-dessus
    .List = tblcombo
    
    'Définie la largeur de chaque colonne de la combobox
    .ColumnWidths = "30;30;40;30;30"
    End With
    End Sub
    

    A+
    1
  3. ralag Messages postés 15 Statut Membre 2
     
    Salut,

    la premiére colonne devrait déjà contenir une formule renvoyant toutes les colonnes du style
    a1 & "/" & "B1" & "/" & C1le retour serait cette valeur

    A essayer.
    -1
    1. Tehani_t Messages postés 245 Statut Membre 21
       
      Bonjour,

      J'ai pas compris .
      0
    2. ralag Messages postés 15 Statut Membre 2
       
      Salut,

      Une combo ne peut renvoyer qu'une seule valeur (celle indiquée par le numéro de la colonne lié)
      A moins de faire directement du vba ce n'est pas possible.
      En revanche tu peux créer une 6 ième colonne qui contient toute tes valeurs (séparé par un "/" par exemple) et dans ce cas la colonne lié serait la 6 ième

      En VBA Excel

      Private Sub ComboBox1_Change()

      Range("A1").Value = ComboBox1.Column(0)
      Range("A2").Value = ComboBox1.Column(1)
      Range("A3").Value = ComboBox1.Column(2)

      End Sub

      C'est mieux ?
      0
    3. Tehani_t Messages postés 245 Statut Membre 21
       
      Bonjour à tous,

      Merci d'avoir répondu mais je n'ai pas encore pu tester car je ne parviens pas à lancer (=afficher) le userform qui contient mon combobox !!!
      0