RESOLU! Bug dans formatage des colonnes d'une Listview...

pnlop

XLDnaute Occasionnel
Bonjour le forum
(comme me l'a demandé Excel-lent, j'ouvre un nouveau post........)
Suis en train de préparer ma ListView1 dans mon UserForm10...

J'ai entré ce code dans UserForm_Initialize:
Private Sub UserForm_Initialize()

With ListView1.ColumnHeaders
.Add , , "n° art", 20
.Add , , "libellé", 20
.Add , , "unité", 20
.Add , , "quantité", 20
.Add , , "option", 20

End With

End Sub
Ne devrait-il pas se passer qqch dans ma Listview???
Pnlop
 
Dernière édition:

Excel-lent

XLDnaute Barbatruc
Re : Bug dans formatage des colonnes d'une Listview...

Hello,

Pense à joindre une pièce jointe (juste avec ton UserForm et le bouton de lancement de la macro - ça suffira) ;)

Edition : suppression de ma solution, après un rapide test, elle ne fonctionne pas

Bonne après midi
 

GeoTrouvePas

XLDnaute Impliqué
Re : Bug dans formatage des colonnes d'une Listview...

Bonjour,

Ne devrait-il pas se passer qqch dans ma Listview???
C'est pas vraiment précis comme question. Bien évidemment qu'il devrait se passer quelques chose.
Mais as tu vérifié l'état de la propriété HideColumnHeaders ?
 

Pierrot93

XLDnaute Barbatruc
Re : Bug dans formatage des colonnes d'une Listview...

Bonjour,

peut être comme ceci :
Code:
With ListView1
    .View = lvwReport
    With .ColumnHeaders
        .Add , , "n° art", 20
        .Add , , "libellé", 20
        .Add , , "unité", 20
    End With
End With
bon après midi
@+
 

pnlop

XLDnaute Occasionnel
Re : Bug dans formatage des colonnes d'une Listview...

Re...
J'avance sans avoir encore eu de réponse, mais du coup, nouvelle question alors je poste aussi ici... Depuis, ok!!!
Je met mon fichier pour plus de clarté...
Dans l'user Form10:
ListBox1 ok
ListBox2 en fonction du ListBox1 ok
mais ensuite...
En cliquant sur la flèche, la sélection du ListBox2 devrait venir s'ajouter dans la ListView1...
Mon code ne semble pas fonctionner.......

Private Sub CommandButton4_Click()
Dim i As Integer, j As Byte, x As Integer
If ListBox2.ListIndex = -1 Then Exit Sub
With ListView1
For i = -1 To fin
.ListItems.Add , , ListBox2.ListIndex(i, 1)
For j = -1 To 3
.ListItems(.ListItems.Count).ListSubItems.Add , , ListBox2.ListIndex(i, j)
Next j
Next i
End With

End Sub
Qulqu'un peut-il m'aider?
Merci
Pnlop
 

Fichiers joints

Dernière édition:

GeoTrouvePas

XLDnaute Impliqué
Re : Bug dans formatage des colonnes d'une Listview...

Moi je procède de la sorte :
Code:
        With .ColumnHeaders
            .Clear
            .Add , , "Période", 135, lvwColumnLeft
            .Add , , "Statut", 65, lvwColumnLeft
        End With
et ça fonctionne très bien.
 

Excel-lent

XLDnaute Barbatruc
Re : Bug dans formatage des colonnes d'une Listview...

Salut Pnlop, GéoTrouvePas,

Essaye ceci (sans garanti)

Private Sub UserForm_Initialize()

With ListView1.ColumnHeaders
.clear
.Add , , "n° art", 20
.Add , , "libellé", 20
.Add , , "unité", 20
.Add , , "quantité", 20
.Add , , "option", 20

End With

End Sub
A+

PS : regarde ce lien, il est très bien fait : regarde les deux dernier exemples (tout en bas)

Edition : salut Pierrot93
 
Dernière édition:

pnlop

XLDnaute Occasionnel
Re : Bug dans formatage des colonnes d'une Listview...

Re excel-lent et tous les aides!!
J'ai le lien en question imprimé sous les yeux (et beaucoup d'autre du même auteur...!). Ben chez moi la théorie a du mal avec la pratique!!!
Je teste encore. Mais juste une remarque... je veux pas vider mon ListView, vu que les données vont s'ajouter chaque fois à la suite (voir ma question suivante!!!)
A plus
 

Pierrot93

XLDnaute Barbatruc
Re : Bug dans formatage des colonnes d'une Listview...

Re,
bonjour à tous:)

pas sûr que tu ais vu et testé ma proposition....
 

pnlop

XLDnaute Occasionnel
Re : Bug dans formatage des colonnes d'une Listview...

Re...
Je crois que dans le flot de réponse, mon message a été zappé..... (PS Pierrot merci! et les autres aussi)

Je met mon fichier pour plus de clarté...
Dans l'user Form10:
ListBox1 ok
ListBox2 en fonction du ListBox1 ok
mais ensuite...
En cliquant sur la flèche, la sélection du ListBox2 devrait venir s'ajouter dans la ListView1...
Mon code ne semble pas fonctionner.......

Private Sub CommandButton4_Click()
Dim i As Integer, j As Byte, x As Integer
If ListBox2.ListIndex = -1 Then Exit Sub
With ListView1
For i = -1 To fin
.ListItems.Add , , ListBox2.ListIndex(i, 1)
For j = -1 To 3
.ListItems(.ListItems.Count).ListSubItems.Add , , ListBox2.ListIndex(i, j)
Next j
Next i
End With

End Sub
Qulqu'un peut-il m'aider?
Merci
Pnlop
 

Fichiers joints

GeoTrouvePas

XLDnaute Impliqué
Re : Bug dans formatage des colonnes d'une Listview...

Re,

Code:
For i = -1 To fin
Tu ne donnes aucune valeur à la variable fin dans ton code. Est ce que le problème ne viendrait pas de là ?
 

pnlop

XLDnaute Occasionnel
Re : Bug dans formatage des colonnes d'une Listview...

Moui.... Bon... J'avoue: j'ai repris les variable que Papou m'avait mis (autre post pour alimenter ListBox), mais effectivement, j'ai pas entré de valeur..... Mais j'osais pas mettre fin = ListBox2... mon code me parait un peu farfelu...
Entre temps j'ai essayé ceci, mais sans plus de succès:
Private Sub CommandButton4_Click()
If ListBox2.ListIndex = -1 Then Exit Sub
With ListView1
Dim i As Integer, j As Integer
For i = 1 To ListBox2.ListCount - 1
.ListItems(i).ListSubItems.Add
For j = 1 To ListBox2.List(ListBox2.ListCount).Count - 1
.ListItems(j).ListSubItems.Add
Next j
Next i
End With


End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Bug dans formatage des colonnes d'une Listview...

Re,

regarde peut être ceci :
Code:
Private Sub ListBox1_Click()
With ListView1
    .ListItems.Add , , ListBox1.List(ListBox1.ListIndex, 0)
    .ListItems(.ListItems.Count).ListSubItems.Add , , ListBox1.List(ListBox1.ListIndex, 1)
    .ListItems(.ListItems.Count).ListSubItems.Add , , ListBox1.List(ListBox1.ListIndex, 2)
End With
End Sub
 

pnlop

XLDnaute Occasionnel
Re : Bug dans formatage des colonnes d'une Listview...

En fait, je dois me planter selon l'erreur qu'il me met: "index hors limite..." mais en lisant mon code, je ne sais pas comment prendre seulement la sélection de la ListBox2.......
 

jp14

XLDnaute Barbatruc
Re : Bug dans formatage des colonnes d'une Listview...

Bonjour
Salut Pierrot93

Quand on utilise la multiselection dans une listbox la propriété Listindex n'a plus de sens.
Il faut utiliser le code suivant
Code:
For i = 0 To ListBox2.ListCount - 1
            If ListBox2.Selected(i) = True Then 
              .ListItems.Add , , ListBox2.List(i)
           end if
        Next i
JP
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Bug dans formatage des colonnes d'une Listview...

Re,
bonjour jp:)

aarf, pas percuté qu'il s'agissait d'une "multiselection".....
 

pnlop

XLDnaute Occasionnel
Re : Bug dans formatage des colonnes d'une Listview...

Merci jp14, je me disais aussi... il me mettait qu'un article.
Je teste tout ça et vous redis (je dois adapter un peu car ça rentre pas dans les bonnes colonnes...
A toute
 

pnlop

XLDnaute Occasionnel
Re : Bug dans formatage des colonnes d'une Listview...

Re,
Ma logique ne m'aide pas...Ca joue pour les 2 première colonne
Private Sub CommandButton4_Click()
If ListBox2.ListIndex = -1 Then Exit Sub
With ListView1
For i = 0 To ListBox2.ListCount - 1
If ListBox2.Selected(i) = True Then
.ListItems.Add , , ListBox2.List((i), 0)
.ListItems(.ListItems.Count).ListSubItems.Add , , ListBox2.List((i), 1)
.ListItems(.ListItems.Count).ListSubItems.Add , , ListBox2.List((i), 2)
.ListItems(.ListItems.Count).ListSubItems.Add , , ListBox2.List((i), 3)
.ListItems(.ListItems.Count).ListSubItems.Add , , ListBox2.List((i), 4)
End If
Next i


End With
End Sub
Mais ensuite, pour la colonne "unité", il veut me remettre le libellé, pui dans la colonne "quantité" il me met l'unité et dans la dernière colonne qui devrait être vide, il met la quantité!!!
Mais peut-être que le problème vient de la ListBox2...
je joint mon fichier.. au cas où
Merci
 

Fichiers joints

Paritec

XLDnaute Barbatruc
Re : Bug dans formatage des colonnes d'une Listview...

Bonjour Pnlop le forum
oui moi je t'avais fait un code pour remplir une listbox pas une listview
alors maintenant tu veux quoi ???
a+
Papou:eek:
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas