Incrémenter 1 cellule sous condition d'une quantité cumulée
Résolu
kga
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai à réaliser un fichier et je coince sur la réalisation d'une des macro.
J'ai une colonne A où j'ai mentionné des valeurs max (défnies par une quatrième colonne), à atteindre pour la colonne B. Dans cette colonne B j'ai dans chaque ligne une valeur chiffrée.
J'aimerais qu'en défilant de haut en bas, quand le cumul des valeurs chiffrées dans la colonne B est supérieur ou égal à la valeur de la colonne A la cellule qui suit dans la colonne C soit incrémenter de 1.
Soit si val B5>= val A5, C6=val C5+1.
Sachant qu'après l'action doit se répéter, recommencement du cumul à partir de 0.
Soit B6=val B6 et non val B5+ val B6.
Pouvez-vous m'y aider ?
Je vous en remercie d'avance.
J'ai à réaliser un fichier et je coince sur la réalisation d'une des macro.
J'ai une colonne A où j'ai mentionné des valeurs max (défnies par une quatrième colonne), à atteindre pour la colonne B. Dans cette colonne B j'ai dans chaque ligne une valeur chiffrée.
J'aimerais qu'en défilant de haut en bas, quand le cumul des valeurs chiffrées dans la colonne B est supérieur ou égal à la valeur de la colonne A la cellule qui suit dans la colonne C soit incrémenter de 1.
Soit si val B5>= val A5, C6=val C5+1.
Sachant qu'après l'action doit se répéter, recommencement du cumul à partir de 0.
Soit B6=val B6 et non val B5+ val B6.
Pouvez-vous m'y aider ?
Je vous en remercie d'avance.
A voir également:
- Incrémenter 1 cellule sous condition d'une quantité cumulée
- Excel cellule couleur si condition texte - Guide
- Aller à la ligne dans une cellule excel - Guide
- Proteger cellule excel - Guide
- Roland souhaite calculer le montant total des ventes de son magasin. le fichier contient, pour chaque produit, la quantité vendue et le prix unitaire. calculez le montant total des ventes. ✓ - Forum Excel
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
5 réponses
Bonjour,
un fichier exemple avec le résultat attendu aiderait à comprendre ta demande.
cjoint.com et coller ici le lien fourni.
eric
un fichier exemple avec le résultat attendu aiderait à comprendre ta demande.
cjoint.com et coller ici le lien fourni.
eric
Ci-joint un fichier avec le résultat attendu : http://cjoint.com/?BJikbto9wCV
Une petite erreur dans l'énoncé de mon sujet : ce n'est pas supérieur ou égal mais strictement supérieur, comme vous pouvez le voir dans le fichier pour le cas de la transition entre les semaines 1234 et 1235.
Une petite erreur dans l'énoncé de mon sujet : ce n'est pas supérieur ou égal mais strictement supérieur, comme vous pouvez le voir dans le fichier pour le cas de la transition entre les semaines 1234 et 1235.
Bonjour,
Je démarre en ligne 3 et le nombre initial (1233) doit être saisi en C2.
eric
Sub increment() Dim lig As Long, cpt As Long For lig = 3 To Cells(Rows.Count, 1).End(xlUp).Row cpt = cpt + Cells(lig, 2) If cpt > Cells(lig, 1) Then Cells(lig, 3) = Cells(lig - 1, 3) + 1 cpt = 0 Else Cells(lig, 3) = Cells(lig - 1, 3) End If Next lig End Sub
Je démarre en ligne 3 et le nombre initial (1233) doit être saisi en C2.
eric
Merci Eric, mais j'ai encore 2 points à te soumettre :
1. La macro répond bien aux attentes pour les données mentionnées.
Mais si j'en rajoute, elle n'est plus capable de réaliser une bonne analyse.
( Fichier montrant le problème: http://cjoint.com/?BJjlPdcLLRE )
2. J'ai un peu de mal à comprendre le raisonnement, pourrais tu m'expliquer ta macro?
1. La macro répond bien aux attentes pour les données mentionnées.
Mais si j'en rajoute, elle n'est plus capable de réaliser une bonne analyse.
( Fichier montrant le problème: http://cjoint.com/?BJjlPdcLLRE )
2. J'ai un peu de mal à comprendre le raisonnement, pourrais tu m'expliquer ta macro?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Je crois surtout que tu as oublié de dire que le total n'est pas toujours atteint et qu'il faut incrémenter si colonne A change de valeur.
Regarde si c'est ça que tu veux, j'ai ajouté des commentaires :
eric
Je crois surtout que tu as oublié de dire que le total n'est pas toujours atteint et qu'il faut incrémenter si colonne A change de valeur.
Regarde si c'est ça que tu veux, j'ai ajouté des commentaires :
Sub Incrementer_cell_sous_cond_qte_cumul() ' ' Incrementer_cell_sous_cond_qte_cumul Macro ' Macro enregistrée le 09/10/2012 par gkuissi ' ' Dim lig As Long, cpt As Long For lig = 3 To Cells(Rows.Count, 1).End(xlUp).Row ' de la ligne 3 à la dernière ligne remplie colonne A cpt = cpt + Cells(lig, 2) ' additionner B If cpt > Cells(lig, 1) Or Cells(lig, 1) <> Cells(lig - 1, 1) Then ' si maxi atteint ou si A change Cells(lig, 3) = Cells(lig - 1, 3) + 1 ' incrémenter la valeur précédente en C cpt = 0 ' raz du compteur Else Cells(lig, 3) = Cells(lig - 1, 3) ' sinon recopier la valeur précédente en C End If Next lig End Sub
eric