Bonjour à tous,
je cherche à écrire en vba la fonction somme.si avec une variable car le nombre de lignes varie tous les mois. J'ai joint un fichier pour expliquer. Au départ j'avais la formule dans les cellules allant de D3 à AB3 puis je copier coller sur l'ensemble des lignes non vides de la col C. En cellule D3, j'ai =SOMME.SI(Database!$L$4:$L$58632;$C2;Database!AE$4:AE$58632) puis en E3 la formule =SOMME.SI(Database!$L$4:$L$58632;$C2;Database!AF$4:AF$58632) et ainsi de suite jusqu'en AB3
En cherchant un peu je suis parti sur quelque chose ressemblant à ça
Range("D2").Formula = WorksheetFunction.SumIf(F.Range("L4:L" & DerligneData), Range("C2"), F.Range("AE4:AE" & DerligneData))
Explications
DerligneData est la dernière ligne de la feuille Database et
le F vient de Set F = Sheets("Database")
et il faudrait donc ajouter une nouvelle variable pour la dernière ligne de la présente feuille exemple DerligneRapport = Range("C" & Rows.Count).End(xlUp).Row
Je vous remercie beaucoup.
Michel
je cherche à écrire en vba la fonction somme.si avec une variable car le nombre de lignes varie tous les mois. J'ai joint un fichier pour expliquer. Au départ j'avais la formule dans les cellules allant de D3 à AB3 puis je copier coller sur l'ensemble des lignes non vides de la col C. En cellule D3, j'ai =SOMME.SI(Database!$L$4:$L$58632;$C2;Database!AE$4:AE$58632) puis en E3 la formule =SOMME.SI(Database!$L$4:$L$58632;$C2;Database!AF$4:AF$58632) et ainsi de suite jusqu'en AB3
En cherchant un peu je suis parti sur quelque chose ressemblant à ça
Range("D2").Formula = WorksheetFunction.SumIf(F.Range("L4:L" & DerligneData), Range("C2"), F.Range("AE4:AE" & DerligneData))
Explications
DerligneData est la dernière ligne de la feuille Database et
le F vient de Set F = Sheets("Database")
et il faudrait donc ajouter une nouvelle variable pour la dernière ligne de la présente feuille exemple DerligneRapport = Range("C" & Rows.Count).End(xlUp).Row
Je vous remercie beaucoup.
Michel