Dimensionner les colonnes d'une boîte de liste

Résolu
ICTSN
Messages postés
8
Date d'inscription
mardi 30 septembre 2014
Statut
Membre
Dernière intervention
13 novembre 2014
- 30 sept. 2014 à 17:01
jordane45
Messages postés
35777
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 juillet 2022
- 30 sept. 2014 à 21:54
J'ai huit colonnes dans une boite de liste mais la dernière colonne ne s'affiche pas. Les informations des huits colonnes proviennent de différentes boites (texte, combo box et date)

6 réponses

jordane45
Messages postés
35777
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 juillet 2022
358
30 sept. 2014 à 17:07
BONJOUR à toi aussi ( si si .. ça se dit toujours....... )

J'ai huit colonnes dans une boite de liste
Tu veux dire .. une LISTBOX ?

la dernière colonne ne s'affiche pas
Avec ton code... on arrivera surement mieux à voir ce qui ne fonctionne pas...
Pourrais-tu nous le montrer ?

NB: Pour poster du code sur le forum.. pense à utiliser la coloration syntaxique:
Explications disponibles ici :
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code


.
0
ICTSN
Messages postés
8
Date d'inscription
mardi 30 septembre 2014
Statut
Membre
Dernière intervention
13 novembre 2014

Modifié par jordane45 le 30/09/2014 à 17:14
Dim varRejean As Integer
Dim Vposi As Integer

Private Sub BtnLstTaux_Click()
    
    Me.Lst1.AddItem
    
    For i = 1 To 8
        Me.Lst1.List(varRejean, i) = Controls("ctrl" & i).Value
    Next i
    varRejean = varRejean + 1
End Sub

Private Sub CboTypeTaux_Change()

End Sub

Private Sub Ctrl2_Change()

End Sub

Private Sub Ctrl8_Change()

End Sub

Private Sub Lst1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Vposi = Me.Lst1.ListIndex
    
    For i = 1 To 8
        Controls("ctrl" & i).Value = Me.Lst1.List(Vposi, i)
    Next i
    
    
End Sub
0
jordane45
Messages postés
35777
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 juillet 2022
358
30 sept. 2014 à 17:14
Et la coloration syntaxique (les balises de code)... tu n'as pas trouver où elles étaient ?????
J'édite ton message pour les ajouter et je t'invite à lire le contenu de se lien pour tes prochains messages :http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
0
jordane45
Messages postés
35777
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 juillet 2022
358
30 sept. 2014 à 17:23
- C'est quoi ton contrôle : Lst1 ... une LISTBOX ou une LISTVIEW ? (ou autre chose ?)

- En général.. la première COLONNE est en 0 ... donc si tu as 8 colonnes.. elles vont de 0 à 7. (et non pas de 1 à 8 )


0
ICTSN
Messages postés
8
Date d'inscription
mardi 30 septembre 2014
Statut
Membre
Dernière intervention
13 novembre 2014

30 sept. 2014 à 17:36
Il s'agit d'une listbox, j'y vois seulement les 7 premières colonnes qui sont sasies. J'ai remplacé For i = 1 To 8 par i = 1 to 7 mais ça ne fonctionne pas. Merci pour votre aide
0
jordane45
Messages postés
35777
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 juillet 2022
358
30 sept. 2014 à 17:37
Et comment initialises-tu ta listbox.
Quel code as tu utilisé ?
0
ICTSN
Messages postés
8
Date d'inscription
mardi 30 septembre 2014
Statut
Membre
Dernière intervention
13 novembre 2014

30 sept. 2014 à 17:44
excel vba, chaque ligne de la listbox se rempli avec des textbox (4), des combobox (2) et des Dtpicker (2). dans les programmations elles se nomment ctrl 1 à 8
0
ICTSN
Messages postés
8
Date d'inscription
mardi 30 septembre 2014
Statut
Membre
Dernière intervention
13 novembre 2014

Modifié par jordane45 le 30/09/2014 à 17:56
Les données de la listbox proviennent de boites nommées ctrl 1 à 8
Private Sub BtnLstTaux_Click()
    
    Me.Lst1.AddItem
    
    For i = 1 To 8
        Me.Lst1.List(varRejean, i) = Controls("ctrl" & i).Value
    Next i
    varRejean = varRejean + 1
End Sub


EDIT : AJOUT DES BALISES DE CODE ... ENCORE !
(jordane)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jordane45
Messages postés
35777
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 juillet 2022
358
30 sept. 2014 à 17:49
En fait ça vient de ton nombre de colonnes...

AddItem .. ajoute à la première colonne...(indice 0 )
Puis ta boucle 1 to 8 .. ajoute les données dans les colonnes 1 à 8 ..soit 9 colonnes..

Testes ceci :
(places une ListBox dans un Userform et mets ce code dans l'Initialisation de ton USF)

Private Sub UserForm_Initialize()
Dim i As Byte, j As Byte

 ListBox1.ColumnCount = 9
 ListBox1.ColumnWidths = "70;70;70;70;70;70;70;70;70"


For i = 1 To 20
        'Ajoute une ligne et insère une donnée dans la colonne de gauche
        ListBox1.AddItem "Ligne:" & i & "- Col:0"
        
        'Ajoute des données dans les colonnes de droite
        For j = 1 To 8
         ListBox1.List(ListBox1.ListCount - 1, j) = "Ligne:" & i & "- Col:" & j
        Next j
Next i

End Sub


0
jordane45
Messages postés
35777
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 juillet 2022
358
30 sept. 2014 à 17:50
Ce qui... au niveau de ton code donne :


Private Sub BtnLstTaux_Click()
    
    Me.Lst1.AddItem Controls("ctrl1").Value
    
    For i = 2 To 8
        Me.Lst1.List(varRejean, i-1) = Controls("ctrl" & i).Value
    Next i
    varRejean = varRejean + 1
End Sub

0
ICTSN
Messages postés
8
Date d'inscription
mardi 30 septembre 2014
Statut
Membre
Dernière intervention
13 novembre 2014

30 sept. 2014 à 21:50
Merci beaucoup, de fait j'ai 8 colonnes à incrémenter donc je n'en ai pas besoin de neuf, j'ai modifié votre code en inscrivant columncount = 8. Me reste maintenant a adapter le reste du code pour l'incrémentation de la liste.
0
jordane45
Messages postés
35777
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 juillet 2022
358
30 sept. 2014 à 21:54
Bonjour,
Evite de mettre tes réponses ern Commentaire du premier message...utilises le bouton REPONDRE en bas de la page.
(je viens de déplacer ton précédent message).

Et si la question est résolue.. merci de clore le sujet ( Lien Marquer comme résolu .. en haut de la page sous le titre de ta question.)

Merci.

@+
0
jordane45
Messages postés
35777
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 juillet 2022
358
30 sept. 2014 à 21:54
0