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 :

Alimenter une listbox multicolonnes avec un tableau de variables


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 65
    Par défaut Alimenter une listbox multicolonnes avec un tableau de variables
    Bonjour,

    ça fait un bon petit moment que je cherche une solution à mon pb, j'ai essayé un paquet de possibilités mais je ne sais plus quoi faire maintenant.

    Je m'explique, je pars d'une feuille excel dans laquelle il y a 6 colonnes et des lignes qui peuvent varier. Je charge chaque colonne dans un tableau de variables à une colonne, ensuite j'aimerais pouvoir affecter pour chaque colonne de ma listbox un tableau de variables.

    J'arrive uniquement à mettre un tableau de variables dans la première colonne de ma lisbox et rien d'autre.

    Quelqu'un connait-il un moyen ?

    En attente d'un peu d'aide, merci d'avance

  2. #2
    Membre expérimenté Avatar de conconbrr
    Inscrit en
    Février 2006
    Messages
    198
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 198
    Par défaut
    Salut,

    J'ai déjà fait ce genre de truc par le passé mais ça remonte un peu pour que je m'en souvienne juste comme ça...

    Dans un premier temps, je te proposerais plutôt de récupérer tes 6 colonnes Excel sous forme d'un seul tableau, puis d'essayer d'attribuer ce tableau matriciel a ton listbox.

    P.S: Au cas où, la méthode d'attribution d'une plage à un tableau ressemble à ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim t_monTableau_v as variant
     
    t_monTableau_t=worksheets(i).range(cel1,cel2).value
    Il est très important de déclarer ton tableau en tant que variant. Bien entendu cel1 et cel2 sont à remplacer par des objet range valides.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 317
    Par défaut
    bonsoir,

    un essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub UserForm_Initialize()
    Dim DerLig As Long
    DerLig = Cells.Find("*", , , , xlByRows, xlPrevious).Row
    Tbl = Range("A2:F" & DerLig)
    With Me.ListBox1
        .ColumnCount = 6
        .ColumnWidths = "50;30;30;30;30;30"
        .List = Tbl
    End With
    End Sub

  4. #4
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 65
    Par défaut
    Bonsoir et merci pour votre aide, ça fonctionne.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 01/06/2013, 06h50
  2. Alimenter une listbox avec une list d'objet
    Par offspring dans le forum Silverlight
    Réponses: 5
    Dernier message: 08/12/2009, 18h04
  3. alimenter une listbox avec données filtrées
    Par casefayere dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/12/2007, 23h42
  4. Boucle avec une listbox multicolonne
    Par morgan47 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/08/2006, 21h45
  5. Réponses: 12
    Dernier message: 22/06/2006, 12h09

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