OVH Cloud OVH Cloud

Ouverture d'un fichier XLS

2 réponses
Avatar
lematou
Bonjour,
voilà ce qui m'amène vers vous,
je voulais savoir s'il est possible via macro
1) de vérifier la dernière date de mise à jour d'un fichier ?

2) s'il a été mis à jour aujourd'hui de l'ouvrir en consultation uniquement !

2 bis) proposer une ouverture en lecture par défaut ou forcer une ouverture
en modifications

ce fichier serait dans ce cas utilisé sur 2 sites

Merci pour vos éclairages

Jacks

2 réponses

Avatar
michdenis
Bonjour LeMatou,

essaie quelque chose dans le genre :

'----------------------
Sub test()

Dim LeFichier As String
Dim D As Date, Wk As Workbook
LeFichier = "c:Classeur1.xls"
If Dir(LeFichier) <> "" Then
D = Format(DerDateModifie("c:Classeur1.xls"), "DD/MM/YY")
If D <> Format(Date, "DD/MM/YY") Then
Set Wk = Workbooks.Open(LeFichier)
'Ouvre le fichier en lecture seule
'xlReadWrite = lecture - écriture
Wk.ChangeFileAccess Mode:=xlReadOnly 'xlReadWrite
'Le code à exécuter pour modifier ton fichier
'Pour fermer ton fichier tout en enregistrant les modifications
Wk.Close True
End If
End If
Set Wk = Nothing
End Sub
'----------------------

'----------------------
Function DerDateModifie(fichier)
Dim fs, f, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(fichier)
DerDateModifie = f.DateLastModified
Set Fs = Nothing: Set F = Nothing
End Function
'----------------------


Salutations!




"lematou" a écrit dans le message de news:
Bonjour,
voilà ce qui m'amène vers vous,
je voulais savoir s'il est possible via macro
1) de vérifier la dernière date de mise à jour d'un fichier ?

2) s'il a été mis à jour aujourd'hui de l'ouvrir en consultation uniquement !

2 bis) proposer une ouverture en lecture par défaut ou forcer une ouverture
en modifications

ce fichier serait dans ce cas utilisé sur 2 sites

Merci pour vos éclairages

Jacks
Avatar
lematou
MERCI Michdenis
c'est vraiment génial
que tous ceux qui comme toi apportent des réponses à des néophites comme moi
en soient également remerciés.
Merci et a une prochaine probablement
Jacks


Bonjour LeMatou,

essaie quelque chose dans le genre :

'----------------------
Sub test()

Dim LeFichier As String
Dim D As Date, Wk As Workbook
LeFichier = "c:Classeur1.xls"
If Dir(LeFichier) <> "" Then
D = Format(DerDateModifie("c:Classeur1.xls"), "DD/MM/YY")
If D <> Format(Date, "DD/MM/YY") Then
Set Wk = Workbooks.Open(LeFichier)
'Ouvre le fichier en lecture seule
'xlReadWrite = lecture - écriture
Wk.ChangeFileAccess Mode:=xlReadOnly 'xlReadWrite
'Le code à exécuter pour modifier ton fichier
'Pour fermer ton fichier tout en enregistrant les modifications
Wk.Close True
End If
End If
Set Wk = Nothing
End Sub
'----------------------

'----------------------
Function DerDateModifie(fichier)
Dim fs, f, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(fichier)
DerDateModifie = f.DateLastModified
Set Fs = Nothing: Set F = Nothing
End Function
'----------------------


Salutations!




"lematou" a écrit dans le message de news:
Bonjour,
voilà ce qui m'amène vers vous,
je voulais savoir s'il est possible via macro
1) de vérifier la dernière date de mise à jour d'un fichier ?

2) s'il a été mis à jour aujourd'hui de l'ouvrir en consultation uniquement !

2 bis) proposer une ouverture en lecture par défaut ou forcer une ouverture
en modifications

ce fichier serait dans ce cas utilisé sur 2 sites

Merci pour vos éclairages

Jacks