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