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 :

[VBA-E] Séparer les colonnes d'une listbox par des lignes?


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 19
    Points : 7
    Points
    7
    Par défaut [VBA-E] Séparer les colonnes d'une listbox par des lignes?
    Bonjour à tous,

    Voila, j'ai créé une fenetre userform sous Visual basic pour pouvoir la lancer sur excel.Dans ma fenetre userform j'ai mis une listbox. Dans cette listbox j'ai rentré plusieurs valeurs réparties en quatre colonnes. Afin de bien séparer les colonnes, je voudrai mettre une ligne entre chaque colonne.

    Comment peut on créer ces lignes?

    Nota: Pour créé mes colonnes je sui allé dans les propriété de ma listbox; dans ColumnCount j'ai rentrer "4" (pour avoir 4 colonnes).

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour

    il n'est pas possible d'insérer directement des séparations de colonnes dans les ListBox d'Excel


    ci joint une solution de remplacement (non idéale)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Private Sub UserForm_Initialize()
    Dim i As Byte, j As Byte
     
    ListBox1.ColumnCount = 7
    ListBox1.ColumnWidths = "50;15;50;15;50;15;50"
     
    For i = 1 To 20
        ListBox1.AddItem "Ligne" & i
     
        For j = 2 To 7 Step 2
        ListBox1.List(ListBox1.ListCount - 1, j) = i & j
        Next j
     
        For j = 1 To 6 Step 2 'creation du separateur de colonnes
        ListBox1.List(ListBox1.ListCount - 1, j) = Chr(124)
        Next j
    Next i
    End Sub

    une autre solution consiste à utiliser les ListView


    bonne journée
    michel

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    tu es sur car on m'a dit que c'était possible. A moins que ce soit avec la listview. Avec la liste view on peut résoudre ce probleme?

Discussions similaires

  1. [XL-2010] VBA Masquer toutes les colonnes d'une feuille
    Par RodKAZ dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/06/2013, 15h28
  2. Réponses: 0
    Dernier message: 01/09/2011, 23h22
  3. Obtenir les colonnes d'une table par ADO dans l'ordre croissant
    Par soso78 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 11/11/2007, 17h59
  4. [VBA-E] compter les item d'une listbox
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 12/07/2006, 15h29
  5. [VBA-E] afficher les données d'une datagrid dans des zones de textes
    Par fadwa dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/05/2006, 13h51

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