Re : Vba?
merci pour vos réponses rapides.
donc mon problème c'est que j'ai un code qui me calcul un échéancier puis il me retransmet les valeurs dans des cellules en fonction des dates de paiement. Mon souci c'est que ca marche pour une personne, mais il faudrait que ca me fasse une boucle sur tous les clients et ca je ne vois absolument pas comment m'y prendre.
j'ai mis une copie du fichier sans les macros (trop gros). Donc idéalement il faudrait que ca me fasse l'échéancier (chaque fois dans le même) pour chaque client et que ca reprenne toutes les valeurs en fonction des dates, mais comme dit précédemment, là je sèche. encore merci si quelqu'un a une idée
pour l'instant voici le code que j'ai fait (la 2ème partie est enregistrée en module, je voyais pas comment faire autrement):
Private Sub CommandButton1_Click()
Const fdg As Double = 0.1
Dim montant As Double
Dim tau As Double
Dim tau2 As Double
Dim dur As Integer
Dim dep As Date
Dim differ As Single
Dim maf As Worksheet
Dim index As Long
Dim rbt As Currency
Dim jour As Date
Set maf = Sheets("feuil2")
maf.Range("A18:F419").ClearContents
montant = maf.Range("e2")
tau = maf.Range("f2") * 12 * 100
tau2 = maf.Range("f2")
dur = maf.Range("i2")
differ = maf.Range("k2")
rbt = (montant * (-tau2) * (1 + tau2) ^ dur) / (1 - (1 + tau2) ^ dur)
dep = maf.Range("d2")
For index = 1 To differ + dur
maf.Range("a" & index + 17) = index
jour = DateSerial(Year(dep), Month(dep) + index, Day(dep))
If Weekday(jour, 2) = 6 Then jour = jour - 1
If Weekday(jour, 2) = 7 Then jour = jour + 1
maf.Range("b" & index + 17) = Format(jour, "dddd")
maf.Range("c" & index + 17) = jour
If index <= differ Then
maf.Range("d" & index + 17) = montant * tau / 1200
maf.Range("e" & index + 17) = montant * fdg / (dur + differ)
maf.Range("f" & index + 17) = (montant * tau / 1200) + (montant * fdg / (dur + differ))
Else
maf.Range("d" & index + 17) = rbt
maf.Range("e" & index + 17) = montant * fdg / (dur + differ)
maf.Range("f" & index + 17) = rbt + (montant * fdg / (dur + differ))
End If
Next index
Range("C11").Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Feuil2!R[7]C:R[18]C>=TODAY())*(Feuil2!R[7]C:R[18]C<TODAY()+30)*(Feuil2!R[7]C[3]:R[18]C[3]))"
Range("C12").Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Feuil2!R[6]C:R[17]C>=TODAY()+30)*(Feuil2!R[6]C:R[17]C<TODAY()+90)*(Feuil2!R[6]C[3]:R[17]C[3]))"
Range("c13").Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Feuil2!R[5]C:R[16]C>=TODAY()+90)*(Feuil2!R[5]C:R[16]C<TODAY()+180)*(Feuil2!R[5]C[3]:R[16]C[3]))"
Range("C14").Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Feuil2!R[4]C:R[15]C>=TODAY()+180)*(Feuil2!R[4]C:R[15]C<TODAY()+360)*(Feuil2!R[4]C[3]:R[15]C[3]))"
Range("C15").Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Feuil2!R[3]C:R[14]C>=TODAY()+360)*(Feuil2!R[3]C:R[14]C<TODAY()+720)*(Feuil2!R[3]C[3]:R[14]C[3]))"
Range("C16").Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Feuil2!R[2]C:R[13]C>=TODAY()+720)*(Feuil2!R[2]C:R[13]C<TODAY()+1080)*(Feuil2!R[2]C[3]:R[13]C[3]))"
Range("C17").Select
End Sub