Boucle selon une condition
Fermé
Riccoplus
Messages postés
15
Date d'inscription
dimanche 2 avril 2017
Statut
Membre
Dernière intervention
18 mai 2021
-
29 août 2019 à 22:18
Riccoplus Messages postés 15 Date d'inscription dimanche 2 avril 2017 Statut Membre Dernière intervention 18 mai 2021 - 14 nov. 2019 à 12:19
Riccoplus Messages postés 15 Date d'inscription dimanche 2 avril 2017 Statut Membre Dernière intervention 18 mai 2021 - 14 nov. 2019 à 12:19
A voir également:
- Boucle selon une condition
- Excel cellule couleur si condition texte - Guide
- Condition et excel - Guide
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Boucle cmd - Forum Programmation
- Excel soustraction avec condition ✓ - Forum Excel
4 réponses
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
3 sept. 2019 à 02:56
3 sept. 2019 à 02:56
Bonjour,
Mauvaise interprétation de ma part, voici le corrigé
Pour écrire cette formule en vba, si c'est bien ce que vous voulez.
Cdlt
Mauvaise interprétation de ma part, voici le corrigé
Function D(A As Long, B As Long, C As Long) As Long Coef = 1 If C < A Then Do While D < A Temp = C + (Coef * B) D = Temp If Temp > A Then Exit Function Coef = Coef + 1 Loop End If End Function
Pour écrire cette formule en vba, si c'est bien ce que vous voulez.
Range("D2:D" & [C10000].End(xlUp).Row).FormulaR1C1 = "=D(R2C1,R2C2,RC[-1])"
Cdlt
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
2 sept. 2019 à 06:22
2 sept. 2019 à 06:22
Bonjour,
Si j'ai bien compris,
recopiez cette fonction dans un module standard
Puis en D2 saisissez la formule suivante(et à tirer vers le bas):
=D($A$2;$B$2;C2)
Cdlt
Si j'ai bien compris,
recopiez cette fonction dans un module standard
Function D(A As Long, B As Long, C As Long) As Long D = C + B If D >= A Then D = 0 Exit Function End If Coef = 1 If C < A Then Do While D < A Temp = C + (Coef * B) If Temp < A Then D = Temp Coef = Coef + 1 Else Exit Function End If Loop End If End Function
Puis en D2 saisissez la formule suivante(et à tirer vers le bas):
=D($A$2;$B$2;C2)
Cdlt
Riccoplus
Messages postés
15
Date d'inscription
dimanche 2 avril 2017
Statut
Membre
Dernière intervention
18 mai 2021
2 sept. 2019 à 19:04
2 sept. 2019 à 19:04
Bonjour Frenchie83,
merci pour votre réponse, j'ai mis la fonction dans le module 1 (voir photo)et la formule dans D2 puis tiré vers le bas, mais le résultat n'est pas vraiment ce que je souhaiterais (voir photo) :
En D2, je devrais avoir 12
En D3, 11
En D4, 10
En D5, 12 (6+3+3)
Qu'en pensez-vous ?
Ai-je fais une mauvaise manip ?
Et, comment dois-je faire pour faire une macro à partir de cette fonction dans le module 1 ?
Merci pour votre réponse
Cordialement
Riccoplus

merci pour votre réponse, j'ai mis la fonction dans le module 1 (voir photo)et la formule dans D2 puis tiré vers le bas, mais le résultat n'est pas vraiment ce que je souhaiterais (voir photo) :
En D2, je devrais avoir 12
En D3, 11
En D4, 10
En D5, 12 (6+3+3)
Qu'en pensez-vous ?
Ai-je fais une mauvaise manip ?
Et, comment dois-je faire pour faire une macro à partir de cette fonction dans le module 1 ?
Merci pour votre réponse
Cordialement
Riccoplus

Riccoplus
Messages postés
15
Date d'inscription
dimanche 2 avril 2017
Statut
Membre
Dernière intervention
18 mai 2021
14 nov. 2019 à 12:19
14 nov. 2019 à 12:19
Bonjour Frenchie83,
désolé pour ma réponse tardive.
Merci beaucoup, cela fonctionne parfaitement !!!
Cordialement
Riccoplus
désolé pour ma réponse tardive.
Merci beaucoup, cela fonctionne parfaitement !!!
Cordialement
Riccoplus