• Initiateur de la discussion Initiateur de la discussion news
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

news

XLDnaute Impliqué
Bonjour à tous du forum,

Dans Worksheets("dépenses") s'y trouvent 4 colonnes avec les en-têtes :
A2 = No.
B2 = date
C2 = dépenses
D2 = montant
A3😀106 s'y trouvent les données,

j'utilise un listview avec 4 colonnes et devraient être reprises les données de Worksheets)"dépenses").
Mais dans listview tout est mélangé, il est affiché tant de colonnes qu'il y a données dans colonne A3:A !

Je ne sais pas pourquoi column-head, gridlines, et les données de Worksheets("dépenses") ne sont pas affichés correctement dans Listview1,

j'utilise/repris le code suivant :

Sheets("dépenses").Select
With ThisWorkbook.Sheets("dépenses")
With Me.ListView1
With .ColumnHeaders
.Clear 'Supprime les anciens entêtes
.Add , , "No.", 100, lvwColumnLeft
.Add , , "date", 80, lvwColumnCenter
.Add , , "which kind of costs", 87, lvwColumnRight
.Add , , "amount paid cash", 87, lvwColumnRight
End With
.View = lvwReport 'affichage en mode Rapport
.Gridlines = True 'affichage d'un quadrillage
.FullRowSelect = True 'Sélection des lignes comlètes
End With

With Me.ListView1
For n5 = 2 To Sheets("dépenses").Range("C65536").End(3).Row
k = k + 1
ListView1.ListItems.Add k, , Sheets("dépenses").Cells(n5, 1)
ListView1.ListItems(k).SubItems(1) = Sheets("dépenses").Cells(n5, 2)
ListView1.ListItems(k).SubItems(2) = Sheets("dépenses").Cells(n5, 3)
ListView1.ListItems(k).SubItems(3) = Format(Sheets("dépenses").Cells(n5, 4), "###0.00")
Next
End With
End With
End Sub

Comment modifier le vba code afin que listview1 fonctionne correctement ?
Si montant est négatif, qu'est affiché autre couleur dans 4e colonne de listview1,

news
 
Dernière édition:
Re : listview error

Bonjour,

pour l'initialisation, essaie ce code :

Code:
Private Sub UserForm_Initialize()
Dim Fld As Worksheet
Dim N5 As Long
Set Fld = Sheets("dépenses")
With Me.ListView1
    With .ColumnHeaders
        .Clear 'Supprime les anciens entêtes
        .Add , , "No.", 100, lvwColumnLeft
        .Add , , "date", 80, lvwColumnCenter
        .Add , , "which kind of costs", 87, lvwColumnRight
        .Add , , "amount paid cash", 87, lvwColumnRight
    End With
    .View = lvwReport 'affichage en mode Rapport
    .Gridlines = True 'affichage d'un quadrillage
    .FullRowSelect = True 'Sélection des lignes comlètes
    For N5 = 2 To Fld.Range("C65536").End(3).Row
        .ListItems.Add , , Fld.Cells(N5, 1).Value
        .ListItems(.ListItems.Count).ListSubItems.Add , , Fld.Cells(N5, 2).Value
        .ListItems(.ListItems.Count).ListSubItems.Add , , Fld.Cells(N5, 3).Value
        .ListItems(.ListItems.Count).ListSubItems.Add , , Format(Fld.Cells(N5, 4).Value, "###0.00")
    Next N5
End With
End Sub

pour la couleur, je ne sais pas....
 
Re : listview error

Re: bhbh

je ne sais pas,

j'ai copié un listview d'un autre fichier de ce forum
et puis mis ce code,
j'ai repris ton listview, le copié sur mon fichier et copié le même code de ton fichier, et de nouveau cela ne fonctionne pas,
pour chaque ligne dans colonne A3:A du WorkSheets("dépenses" y met une colonne dans listview,
et ne met pas d'autres données !

c'est frustrant, si tous les données sont les mêmes, mais cela ne fonctionne pas.

d'ailleurs j'ai une question ou est-ce qu'on trouve la boîte à outil pour créer un listview,
dans la boîte à outil standard, il n'y a pas de listview.
Cela se trouve où dans les macro ?

news
 
Re : listview error

Bonjour à tous du forum,

Re: klin89,

j'ai regardé hier soir les 2 fils et essayé le code de l'exemple de fichier repris de youky(BJ), même étudié ou regardé le contenu de listview sous silkyroad.developpez.com,
mais dès qu'on veut ajouter qch. alors viennent les difficultés que cela ne fonctionne plus, car ne comprend pas tout les raisons d'un code vba utilisé.

J'ai essayé avec 2 solutions de vba code :
dans une solution de code, listview fonctionne mais je ne sais pas comment mettre un format de nombre
# ###,00 dans une colonne ou ajouter d'autres critères à une colonne,

et dans l'autre soldution de code vba utilisé dans listview il n'y a rien qui fonctionne, j'ai copié le même code vba, comme expliqué ci-dessous,

news,
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
1 K
Réponses
4
Affichages
752
Réponses
4
Affichages
2 K
Réponses
1
Affichages
1 K
Réponses
7
Affichages
1 K
Réponses
68
Affichages
8 K
Retour