J’ai regardé avec attention la discussion donné par @HRK2O qui est très intéressante.
J’ai essayé de faire une macro pour calculer automatiquement, dans le formulaire “9Formations - Sessions” la date de fin de signature et l’année.
Je remets le lien vers mon fichier : cliquez-ici
Je vous mets ma macro :
Sub MajDatesEtAnnee(oEvent As Object)
Dim oForm As Object
Dim dDateDebut As Date
Dim dDateFin As Date
Dim sAnnee As Integer
On Error GoTo Erreur
' Récupère le formulaire actif
oForm = oEvent.Source.Model.Parent
' Vérifie et récupère la date de début
If oForm.hasByName("datSessions_Date début") Then
If Not IsNull(oForm.getByName("datSessions_Date début").Value) Then
' Convertit explicitement en Date
dDateDebut = CDate(oForm.getByName("datSessions_Date début").Value)
' Calcule la date fin signature (date début - 7 jours) avec DateSerial
dDateFin = DateSerial(Year(dDateDebut), Month(dDateDebut), Day(dDateDebut) - 7)
' Met à jour la date fin signature
If oForm.hasByName("datSessions_Date fin signature") Then
oForm.getByName("datSessions_Date fin signature").Value = dDateFin
End If
' Met à jour l'année
sAnnee = Year(dDateDebut)
If oForm.hasByName("fmtAnnée") Then
oForm.getByName("fmtAnnée").Value = sAnnee
End If
End If
End If
End Sub
Exit Sub
Elle ne fonctionne pas mais je n’arrive pas à comprendre pourquoi. J’espère que vous pourrez m’aider.
Bonne soirée à tous