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
165