Boucle, condition et retraitement Excel

Bonjour à toutes et à tous.

Je galère depuis plusieurs jours sans trouver de solution. Je reviens donc sur ce site pour chercher de l'aide

Projet VBA Base achats

énoncé et fichier Excel joints.

1-CC : Correction comptable des commandes d’achat

2-EM : Entrées marchandises

Objectif n°1 : Supprimer les CC de N-1

Les CC des commandes d’achat sans entrées marchandises en année N, sont des corrections comptables des entrées marchandises de N-1 donc il faut supprimer toutes ces lignes.

Exemple : 450011123130

Objectif n°2 : Supprimer les lignes vides

Si la ligne de commande contient : CC= ou (0 ; vide) et EM = ou (0 ; vide) il faut supprimer toute la ligne.

Exemple : 450000014311

Objectif n°3 : Couper-coller la CC dans la bonne cellule.

Ça concerne les CC des EM des mois précédents. Si la ligne de la commande contient un montant dans la cellule CC et que la cellule d’EM égale à 0 ou vide, il faut cumuler ce montant avec celui de la première ligne au-dessus de la même commande, qui contient un montant EM puis supprimer la ligne de la commande qui contenait le CC avec EM vide ou 0.

Exemple : 4500178593150

Aidez moi SVP, bonne fête a toutes et à tous.

9exercice.xlsm (220.24 Ko)

Salut,

Un essai en annexe, sans trop chercher à améliorer ce premier jet de macro.

Amicalement.

NB : Evite des mots comme "Aidez moi" dans le titre.

14exercice-v1.xlsm (221.90 Ko)

Bonjour Yvouille,

Je tiens à te remercier pour ta réponse, ton programme fonctionne parfaitement, sauf que j'ai mal défini mon objectif des cellules CC.

J'ai constaté que la cellule CC peut avoir un montant donc si on colle le montant copie de la cellule supprimée elle écrasera le montant existant. J'aurai dû penser à mettre dans l'énoncé que c'est pour avoir un cumul.

Si t'as une idée de comment faire je suis preneur .

Merci

Salut,

Peux-tu me dire si ton problème concerne ton objectif 1, 2 ou 3 ?

Et puis peux-tu m'indiquer également un exemple précis dans ton fichier (numéro de ligne, s.t.pl.) ?

Bonnes salutations.

Slt,

Ci-joint le fichier V2 avec l'objectif n°3. Au début j'ai pensé à un copier-coller alors que pour avoir le bon résultat j'aurai dû penser au cumul.

Merci Yvouille

6exercice-v2.xlsm (255.80 Ko)

Re-bonjour,

Tu n’es quand même pas très clair dans tes explications

Dans le fichier ci-joint, j’ai repris ta feuille ‘Exércice’ que j’ai renommé avec sa faute d’orthographe ‘Exércice Fichier V1’.

Dans tes deux explications au sujet de ton objectif 3, tu sembles indiquer qu’il ne faut traiter ces lignes parallèles (je veux dire ces lignes ou l’on trouve 2 fois le même numéro dans la colonne A) que si le mois indiqué dans la colonne B de la deuxième ligne parallèle suit immédiatement le mois de la première ligne. Mais je ne suis pas certain de cela.

Et puis tu n’as pas 100 lignes parallèles, je n’en ai trouvées de 5. Afin de simplifier la discussion, dans le fichier ci-joint j’ai effacé une grande partie des lignes ‘uniques’ et j’ai mis en évidence ces 5 groupes de lignes parallèles.

Tout d’abord tu constateras que pour les numéros 450016244810 et 450016302620, le mois des deuxièmes lignes ne suit pas celui des premières. Doit-on traiter ces lignes séparément ? Les ignorer ?

Puis pour les autres groupes, si je reprends la logique de ta démo concernant les lignes 450014174420, j’aurais par exemple le calcul suivant dans la cellule C22 : 0 + (-31-80) = - 31-80 (calcul effectué par macro, avant l’effacement de la ligne 23) et ta formule en E22 donnerait le résultat suivant : -31.80 + 1'596.00 = 1'564.20. Est-ce vraiment ce que tu désires ?

Pour le numéro 450017691510, ma macro effectuerait le calcul 233.00 + (-233.00) en C18, ce qui donnerait le résultat de 0 en E18 (par ta formule) et cette ligne serait alors vraisemblablement effacée par la suite de la macro qui efface justement les lignes à 0. Est-ce alors ce que tu désires ?

A te relire.

8exercice-v3.xlsm (49.47 Ko)
Rechercher des sujets similaires à "boucle condition retraitement"