3 tests et boucle pour total?

J

JJ

Guest
Bonjour, suite a ma precedente macro, je voudrais faire une boucle mais je ne sais pas si je dois utiliser FOR EACH.., DO WHILE ou DO UNTIL?
En col 4 j'ai des produits TRIéS par ordre alphabétique croissant (ex:3 produits DVD, FILM, LIVRE)
En col 8 j'ai les prix payés sur chaque lignes
Je voudrais écrire la macro qui balaye la feuille de classeur et teste tant que la col 4 est DVD alors il fait la somme des col 8 correspondantes puis idem avec les FILM et enfin les LIVRE
En cellule A1 (par ex ) il me donne le total des 3 sous-totaux
Merci
BON WE
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir JJ,

Tu peux peut-être envisager une méthode beaucoup plus simple et qui évite les boucles pour répondre à cette question. Pour un tel cas, on peut 'emprunter' une simple formule utilisable en temps normal dans les feuilles Excel. Pour cela, on utilise l'objet WorksheetFunction et on utilise le nom de la fonction en Anglais (ici -----> SumIf pour Somme.Si) :

Dim PrixDVD As Currency, PrixFILM As Currency, PrixLIVRE As Currency

      PrixDVD = WorksheetFunction.SumIf(Columns(4), 'DVD', Columns(8))
      PrixFILM = WorksheetFunction.SumIf(Columns(4), 'FILM', Columns(8))
      PrixLIVRE = WorksheetFunction.SumIf(Columns(4), 'LIVRE', Columns(8))
      Range('A1') = PrixDVD + PrixFILM + PrixLIVRE
D'autres fonctions Excel sont ainsi utilisables dans VBA, voir l'aide VBA...

Cordialement,
 
J

JJ

Guest
Bonjour, je ne connaissais pas cette méthode simple, je vais tester cet am, et si je veux appliquer un % au DVD par ex , je l'écris à la fin: Range('A1')=PrixDVD*25/100 +......
ca devrait marcher?
Bon Dimanche et encore merci
JJ
 

Discussions similaires

Réponses
2
Affichages
699

Membres actuellement en ligne

Statistiques des forums

Discussions
312 963
Messages
2 093 998
Membres
105 906
dernier inscrit
aifa