Private Sub Workbook_Open()
Dim fichier$, OldWeek As Long, ActualWeek As Long, réponse As VbMsgBoxResult
fichier = "S:\PRODUCTION\2010-2011\01 - Cartes de contrôle\DISSO\CDC_75064.xlsm"
fichier1 = "S:\PRODUCTION\2010-2011\01 - Cartes de contrôle\DISSO\CDC_608868.xlsm"
'récupération de la date du dernier accès (Attention!!!! en string !!!!!!)
With CreateObject("Scripting.FileSystemObject").GetFile(fichier)
OldWeek = ISOWEEK2007(CDate(Mid(.DateLastAccessed, 1, 10)))
ActualWeek = ISOWEEK2007(Date)
End With
If ActualWeek = OldWeek Then Exit Sub ' si cette date + 7 jour est plus grand que la date du jour on sort de la sub
With CreateObject("Scripting.FileSystemObject").GetFile(fichier1)
OldWeek = ISOWEEK2007(CDate(Mid(.DateLastAccessed, 1, 10)))
ActualWeek = ISOWEEK2007(Date)
End With
If ActualWeek = OldWeek Then Exit Sub
'sinon on a la question avec le message (si on veut ou pas l'ouvrir)
reponse = MsgBox("Renseigner la carte de ctrl 75064", vbYesNo And vbExclamation, "Remplir la carte de ctrl")
If reponse = vbOK Then
ThisWorkbook.FollowHyperlink fichier, , True
End If
reponse = MsgBox("Renseigner la carte de ctrl 608868", vbYesNo And vbExclamation, "Remplir la carte de ctrl")
If reponse = vbOK Then
ThisWorkbook.FollowHyperlink fichier1, , True
End If
End Sub
Function ISOWEEK2007(dat As Date)
Dim X&
X = CLng(dat)
ISOWEEK2007 = Evaluate("= TRUNC((" & X & "-WEEKDAY(" & X & ",2)+11-DATE(YEAR(" & X & "-WEEKDAY(" & X & " ,2)+4),1,1))/7)")
End Function