Incrémenter 1 cellule sous condition d'une quantité cumulée
Résolu/Fermé
kga
-
Modifié par kga le 7/10/2012 à 18:35
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 9 oct. 2012 à 14:09
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 9 oct. 2012 à 14:09
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
- Verrouiller une cellule excel - Guide
- Excel si cellule contient partie texte ✓ - Forum Excel
- Faites en sorte que la cellule a1 affiche exactement ce qui est montré sur cette image. quel mot apparaît en b1 ? - Forum Excel
5 réponses
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 252
7 oct. 2012 à 20:37
7 oct. 2012 à 20:37
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.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 252
8 oct. 2012 à 11:05
8 oct. 2012 à 11:05
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
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 252
9 oct. 2012 à 12:14
9 oct. 2012 à 12:14
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
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 252
9 oct. 2012 à 14:09
9 oct. 2012 à 14:09
La preuve que si...
??? où ça ?
??? où ça ?