Sub Sauvegarder()
Application.ScreenUpdating = False
If Range("d4") = "" Or Range("d6") = "" Or Range("d8") = "" Or Range("d11") = "" Or Range("d13") = "" Or Range("d15") = "" Or Range("d18") = "" Then 'Vérification que tous les champs soient remplis
MsgBox "Vous devez impérativement remplir tout les champs", 64, "Warning" 'Message si au moins un champs n'est pas rempli
Else
Set informations = Union(Range("d4"), Range("d6"), Range("d8"), Range("d11"), Range("d13"), Range("d15"), Range("d18")) 'déclaration des cellules avec des infos
With Sheets("Récap dépenses")
dlf2 = .Range("a" & Rows.Count).End(xlUp).Row + 1 'calcul de la dernière ligne remplie dans la colonne A de la feuille Récap dépenses
informations.Copy 'on copie les champs d'infos
.Range("a" & dlf2).PasteSpecial Paste:=xlPasteValues, Transpose:=True 'on les colles sur la 1ere ligne vide de la feuille Récap dépenses
.Range("f" & dlf2, "d" & dlf2).NumberFormat = "#,##0.00 $" 'formatage de la cellule f & d en monétaire
informations.ClearContents 'on efface les cellules d'information
Range("d15").FormulaR1C1Local = "=SI(OU(L11C4="""";L13C4="""");"""";L11C4*(1+L13C4))" 'on remet la formule dans la cellule d15
.Range("e" & dlf2).Style = "Percent" 'formatage de la cellule e en pourcentage
End With
MsgBox "Sauvegarde réussie", 64, "Warning" 'message pour indiquer que la sauvegarde est ok
Application.CutCopyMode = False
End If
Application.ScreenUpdating = True
End Sub