Boucle selon une condition
Riccoplus
Messages postés
15
Statut
Membre
-
Riccoplus Messages postés 15 Statut Membre -
Riccoplus Messages postés 15 Statut Membre -
Bonjour tout le monde,
je vous sollicite pour une application que je n'arrive pas à résoudre pour faire une boucle selon une condition.
Je voudrais calculer chaque cellule de la colonne D suivant la condition : "Si C* < A2, alors D* = (C* + n x B2) tant que D* n'est pas > ou = à A2".
Merci pour votre aide
Riccoplus.

je vous sollicite pour une application que je n'arrive pas à résoudre pour faire une boucle selon une condition.
Je voudrais calculer chaque cellule de la colonne D suivant la condition : "Si C* < A2, alors D* = (C* + n x B2) tant que D* n'est pas > ou = à A2".
Merci pour votre aide
Riccoplus.

A voir également:
- Boucle selon une condition
- Excel cellule couleur si condition texte - Guide
- Excel condition ou - Guide
- Tv orange chargement en boucle ✓ - Forum TV & Vidéo
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Boucle excel sans macro - Forum Excel
4 réponses
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
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
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
