IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

List combobox source horizontale


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 22
    Par défaut List combobox source horizontale
    Bonjour,

    Je souhaite incrémenter ma liste de combobox1 d'après une zone de mon fichier excel qui est "A2:Z2"
    Habituellement j'utilise ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ComboBox1.List = Sheets("T_Agents").Range("B3:B" & Sheets("T_Agents").Range("B42").End(xlUp).Row).Value
    mais ce code ne fonctionne pas quand ma plage source est horizontale.

    Quelqu'un a une idée ?

    D'avance merci.

  2. #2
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut liste horizontale
    Bonjour Flandreau, Bonjour le Forum,

    Tu peux utiliser la fonction Transpose.

    (à adapter)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub UserForm_Initialize()
    Dim dercel As Range
    With Sheets("T_Agents")
        Set dercel = .Cells(2, .Columns.Count).End(xlToLeft)
        ComboBox1.List = WorksheetFunction.Transpose(.Range("A2", dercel))
    End With
    Set dercel = Nothing
    End Sub
    Une autre méthode consisterait à enrichier ta liste d'items.
    (Voir le tutoriel de Sylkiroad)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub UserForm_Initialize()
    Dim dercol As Integer
    With Sheets("T_Agents")
        dercol = .Cells(2, .Columns.Count).End(xlToLeft).Column
        For i = 1 To dercol
            ComboBox1.AddItem .Cells(2, i)
        Next i
    End With
    End Sub
    Bonne journée.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 22
    Par défaut
    Merci pour cette réponse précise, je vais testé tout ca.

    @+

Discussions similaires

  1. [VBA]amelioration liste combobox
    Par surftoon dans le forum Général VBA
    Réponses: 2
    Dernier message: 25/04/2007, 20h10
  2. Réponses: 5
    Dernier message: 06/04/2007, 23h56
  3. Réponses: 6
    Dernier message: 28/03/2007, 15h53
  4. Réponses: 1
    Dernier message: 17/01/2007, 23h28
  5. Liste des sources de données système (ODBC)
    Par Le_tzao dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 13/06/2005, 08h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo