Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Remplir listview avec worksheetfunction

Jara

XLDnaute Nouveau
Hello le forum,

Je viens quérir votre aide pour une macro qui me permet de remplir une listview grâce à des worksheet function.

Pour être plus pécis,

J'ai la listview ci-aprés:

| NRS FACTURES | PAYEES | NON-PAYEES
JANVIER| | |
FEVRIER| | |
MARS | | |

Ma Macro renseigne le nombre de facture total, payées et non-payées pour chaque mois (onglet) grâce à des "contifs"

Je n'ai pas de soucis pour remplir la listview en dure, mais lorsque j'essai de boucler sur les lignes, une ligne sur 2 seulement de rempli...

Quelqu'un saurait-il me dire où se trouve mon erreur...

Code:
Sub LIST()
    '----- remplissage ListView------------------------
With MAIN.ListView1
Dim i As Integer
   .ListItems.Clear
        With .ColumnHeaders
        .Clear
        .Add , , "Période", 50
        .Add , , "NB FAC", 40
        .Add , , "PAID", 40
        .Add , , "UNPAID", 40
        End With
        
        With .ListItems
       .Add , , "Janvier"
       .Add , , "Février"
       .Add , , "Mars"
       .Add , , "Avril"
       .Add , , "Mai"
       .Add , , "Juin"
       .Add , , "Juillet"
       .Add , , "Août"
       .Add , , "Septembre"
       .Add , , "Octobre"
       .Add , , "Novembre"
       .Add , , "Décembre"
       End With
     
For i = 1 To .ListItems.Count

       .ListItems(i).ListSubItems.Add , , Application.WorksheetFunction.CountIf(Sheets(.ListItems(i).Text).Range("C3:C" & Sheets(.ListItems(i).Text).Range("C65536").End(xlUp).Row), MAIN.LabelDEB.Caption)
       .ListItems(i).ListSubItems.Add , , Application.WorksheetFunction.CountIf(Sheets(.ListItems(i).Text).Range("C3:C" & Sheets(.ListItems(i).Text).Range("C65536").End(xlUp).Row), MAIN.LabelDEB.Caption) - Application.WorksheetFunction.CountIfs(Sheets(.ListItems(i).Text).Range("C3:C" & Sheets(.ListItems(i).Text).Range("C65536").End(xlUp).Row), MAIN.LabelDEB.Caption, Sheets(.ListItems(i).Text).Range("O3:O" & Sheets(.ListItems(i).Text).Range("C65536").End(xlUp).Row), "")
       .ListItems(i).ListSubItems.Add , , Application.WorksheetFunction.CountIfs(Sheets(.ListItems(i).Text).Range("C3:C" & Sheets(.ListItems(i).Text).Range("C65536").End(xlUp).Row), MAIN.LabelDEB.Caption, Sheets(.ListItems(i).Text).Range("O3:O" & Sheets(.ListItems(i).Text).Range("C65536").End(xlUp).Row), "")
       
       i = i + 1
       Next i
   
End With
End Sub

d'avance merci de votre aide
 

Jara

XLDnaute Nouveau
Re : Remplir listview avec worksheetfunction

Merci à tous de vos réponse!!

Effectivement Hulk, le i = i + 1 n'avait rien à faire ici... C'est là que se trouvait mon pb...
incrémenter le num de ligne de 1 à chaque tour fait sauter une ligne, forcément!!!

@ JCLG, je n'ai pas joint de fichier car le problème ne me semblait pas le requérir. Merci qd même de ton intéret.

Excellente fin de we à tous,

Amicalement,

Jara
 

Discussions similaires

Réponses
4
Affichages
209
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…