1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| 'Date
Private Sub txtdate_AfterUpdate()
On Error GoTo Message
Me.txtdate = Format(CDate(Me.txtdate), "yyyy-mm-dd")
Exit Sub
Message:
MsgBox ("Vous avez entr? le mauvais format de date !")
Me.txtdate = ""
End Sub
'Date de paiement
Private Sub txtdatefin_AfterUpdate()
On Error GoTo Message
Me.txtdatefin = Format(CDate(Me.txtdatefin), "yyyy-mm-dd")
Exit Sub
Message:
MsgBox ("Vous avez entr? le mauvais format de date !")
Me.txtdatefin = ""
End Sub
'Bouton budg?ter
Private Sub budg?ter_Click()
Dim x As Integer
Dim paiementmens As Double
If Me.txttype < 0 Or Me.montant = "" Or Me.p?riode < 0 Or Me.cat?gorie < 0 Or Me.souscat < 0 Then
MsgBox ("Il manque des informations !")
Else
'V?rifier si la date de paiement est inscrite
If Me.txtdatefin <> "" Then
x = DateDiff("m", Me.txtdate, Me.txtdatefin)
paiementmens = CDbl(Me.montant) / x '<-- Calcul des mensualit?s qu'il reste ? payer entre ces 2 dates
Do Until x = 0
If Sheets("pr?visions").Range("ar76") <> "" Then
Sheets("pr?visions").ListObjects(1).ListRows.Add
End If
'Trouver la derni?re ligne
dlt = Sheets("pr?visions").Range("ar10000").End(xlUp).Row
Sheets("pr?visions").Range("ar" & dlt) = Me.txtdate
Sheets("pr?visions").Range("as" & dlt) = Me.txttype
Sheets("pr?visions").Range("at" & dlt) = paiementmens
Sheets("pr?visions").Range("au" & dlt) = Me.cat?gorie
Sheets("pr?visions").Range("aw" & dlt) = Me.souscat
Sheets("pr?visions").Range("ay" & dlt) = Me.txtdescription
Me.txtdate = DateAdd("m", 1, Me.txtdate) '<-- Ajout d'un mois en plus ? la date de d?part
x = x - 1 '<-- D?compte du nombre de fois qu'il faut faire la boucle
Loop
End If
Me.txtdate = ""
Me.txttype = ""
Me.montant = ""
Me.p?riode = ""
Me.txtdatefin = ""
Me.cat?gorie = ""
Me.souscat = ""
Me.txtdescription = ""
ThisWorkbook.RefreshAll
ThisWorkbook.Save
End If
End Sub |