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

VB 6 et antérieur Discussion :

pb pour alignées des entrées dans une listbox


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 22
    Points : 14
    Points
    14
    Par défaut pb pour alignées des entrées dans une listbox
    Bonjour.

    J'ai trouvé dans la faq un code d' Alexandre Lokchine pour ce problème,
    mais je n'arrive pas à le faire fonctionner.
    Quelqu'un pourrait il me dire ce qui ne va pas .

    je remplie ma liste comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
       For y = 0 To 10000
            If Cmbpremierchoix().Text = r.Offset(a, 1).Value Then
                frmresultat!List1.AddItem r.Offset(a, 0).Value & vbTab & r.Offset(a, 1).Value & vbTab & r.Offset(a, 2).Value & vbTab & r.Offset(a, 3).Value & vbTab & r.Offset(a, 4).Value & vbTab & r.Offset(a, 5).Value & vbTab & r.Offset(a, 6).Value & vbTab & r.Offset(a, 7).Value & vbTab & r.Offset(a, 8).Value
            End If
        a = a + 1
            If r.Offset(a, 1).Value = "" Then Exit For
        Next y
    puis je redessine ma liste a l'ouverture de ma from:
    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
    20
    21
     
    Private Sub Form_Paint()
        'ce tableau va contenir les positions des tabulations (ce qui equivaut
        'à la largeur des colonnes
       ReDim TabStop(0 To 7) As Long
     
        'on positionne les tabulations
        TabStop(0) = 10
        TabStop(1) = 50
        TabStop(2) = 105
        TabStop(3) = 200
        TabStop(4) = 100
        TabStop(5) = 100
        TabStop(6) = 100
        TabStop(7) = 100
     
        'on efface puis on réinitialise les tabulations
        Call SendMessage(List1.hwnd, LB_SETTABSTOPS, 0&, ByVal 0&)
        Call SendMessage(List1.hwnd, LB_SETTABSTOPS, 3, TabStop(0))
        List1.Refresh
    End Sub
    Avec un module comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
                                        (ByVal hwnd As Long, ByVal wMsg As Long, _
                                        ByVal wParam As Long, lParam As Any) As Long
     
    Public Const LB_SETTABSTOPS = &H192
    Je pense avoir fait correctement en fonction de l'aide mais ca marche pas .
    Si vous pouvez dites moi pourquoi svp.
    Merci

  2. #2
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 087
    Points : 16 662
    Points
    16 662
    Par défaut
    pour alignées des entrées dans une listbox
    Sa veut dire quoi ?
    pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Citation Envoyé par ProgElecT
    Sa veut dire quoi ?
    Ca veut dire aligner des données dans une ListBox sur des tabulateurs !
    http://vb.developpez.com/faq/?page=Controles#listcol

    >>zx10 : vu ton code, j'ai un doute : VB6 ou VBA ?
    c'est quoi r ?
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Bonjour,
    C'est du vb6 mon code.
    Le r vient de ma feuille excel là ou sont les informations.
    Ma listbox se remplie normallement avec toutes mes informations mais ça donne à peu prés ça:

    xxx xxxx xxxxx xxxxxxxx xxxx
    xxx xxxx xxxx xxxx xxxxxx
    xxx ssss ssss sssss ssssss

    Et je voudrais que chaque séries soit alignées du genre:

    xxx xxxx xxxx xxxxxxxx xxxx
    xxx xxxx xxxx xxxx xxxxxxxxx
    xxx ssss ssss sssss ssssss

    Donc je pensais a utiliser le code d' Alexandre Lokchine pour définir la largeur de chaque colonne.
    Ou est ce que je dois me servir d'un autre controle ?
    Merci.

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    je pense avoir trouver quelque chose.
    Par contre quelqu'un peut il me dire ce que j'ai fait lol.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      Call SendMessage(List1.hwnd, LB_SETTABSTOPS, 0&, ByVal 0&)
        Call SendMessage(List1.hwnd, LB_SETTABSTOPS, 3, TabStop(0))
        List1.Refresh
    remplacer par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      Call SendMessage(List1.hwnd, LB_SETTABSTOPS, 0&, ByVal 0&)
        Call SendMessage(List1.hwnd, LB_SETTABSTOPS, 1, TabStop(0))
        List1.Refresh
    j'ai remplacé le 3 par 1 et ca marche , c'est bien mais pouvez vous me dire pourquoi.
    Merci
    j'attends un peu avant de mettre résolu.
    Merci encore.

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 22
    Points : 14
    Points
    14
    Par défaut

    Désolé mais ca marche pas non plus apres plus verification.
    Mon probleme reste entier.
    Merci de votre aide.

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

Discussions similaires

  1. [XL-2007] Macro pour afficher des données dans une listbox
    Par LaurentIA dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/08/2012, 17h56
  2. [XL-2003] Problème pour aligner des entrées multicolonnes dans une ListBox ?
    Par -Naek- dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/05/2009, 13h59
  3. Boucler pour effacer des lignes dans une listbox à sélection multiple
    Par simond1 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 01/08/2008, 22h25
  4. Réponses: 5
    Dernier message: 14/05/2006, 12h57
  5. Attribuer des valeurs dans une ListBox
    Par OjBarbare dans le forum MFC
    Réponses: 5
    Dernier message: 06/12/2005, 11h28

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