Boucle For Next ou For each

Bonjour à vous,

Je m'adresse à vous car j'ai passé pas mal de temps sur un fichier Excel sans trouver la solution.

J'ai un fichier Excel sur lequel je gère des remises de chèques et j'ai fait une petite routine sur vba qui permet de calculer le montant des chèques (voir feuille Excel jointe).

Mon problème est le suivant :

Certaines remises de chèques concernent des ventes et dans ce cas je saisis l'abréviation "vte" en haut à gauche du tableau (en A1, A37 et A73).

Je voudrai intégrer cette contrainte dans ma routine VBA.

En effet si les remises de chèques sont option "VTE" alors faire le calcul sinon pas de calcul.

Je vous transmets ma feuille de calcul Excel avec mon début de routine VBA.

Merci de tenir au courant.

Je vous en suis très reconnaissant.

Mon code vba (également présent dans ma feuille)

Sub calcul_cumul_vente()

Dim Somme As Double

Dim ligne As Integer

Dim cellules As Range

Dim compteur As Double

For ligne = 1 To 1500

Somme = Somme + Cells(ligne, 4)

compteur = 1

Next

Cells(1, 7) = Somme

Cells(2, 7) = compteur

End Sub

Bien cordialement

Bonjour Christophe88

Je suis toujours effaré par cette volonté de vouloir utiliser le VBA à tout va

Alors pour commencer, pourquoi avoir 36 tableaux ?

Ensuite, pourquoi ne pas utiliser une simple formule ?

A+

Bonsoir Christophe88,

Comme le dit BrunoM45, pas besoin de VBA

Il suffit de mettre en regard de chaque ligne en colonne E la valeur vte.

Ensuite en cellule G1 la formule

=SOMME.SI(E1:E500;"vte";D1:D500)

et en G2

=NB.SI(E1:E500;"vte")

Cdt

Henri

Bonjour,

Merci pour votre réactivité.

En ce qui concerne somme.si ou NB.si oui pas de souci je connais bien ces fonctions mais ce fichier est utilisé par une personne qui ni connait rien en Excel et je vais donc tout insérer en vba.

Par conséquent je souhaite avoir une réponse à ma problématique en VBA.

Bien cordialement

Re bonjour,

Pour compléter mon précédent mail.

Les "36 tableaux" se justifient car à chaque remise de chèques je dois garder une traçabilité.

La personne qui saisit les chèques ne doit en aucune manière effacer les formules (ce qu'elle a déjà fait plusieurs fois). Je pourrai condamner certaines parties de la feuilles mais je préfère passer par vba.

Voila voila.

Cordialement

Re,

C'est bien ce que je pensais

Tous ces tableaux ne se justifient pas, si c'est une saisie il suffit d'avoir une colonne pour les dates de remise et une en cas de vente ou débit/crédit

Ensuite dans une autre feuille on peut avoir tous les calculs souhaités

Bonne soirée

Bonjour,

Je vais pas rentrer dans les détails explicatifs fastidieux.

Non il faut garder ces tableaux pour des raisons évoquées précédemment.

Il n'y a pas de notion débit crédit.

L'autre feuille je l'ai déjà mais je ne l'ai pas mentionnée dans ce forum.

J'ai besoin de ce code vba.

Merci

Cdlt

Re,

Désolé du dérangement et d'essayer de comprendre et d'aider

Pas de souci

Bonne soirée

Re Bonsoir,

Voici tout simplement la touche "Mise à Jour" réaffectée à la macro "Calcul_Vente" qui est la réplique des formules SOMME.SI et NB.SI

Il faut cependant initialiser la colonne E par la valeur "vte".

Cdt

Henri

Merci,

Bonne soirée

Rechercher des sujets similaires à "boucle next each"