Voilà le code.
Le problème au sujet date de modif est au début.
J'ai aussi mis la partie de code qui ouvre le fichier dans la procédure suivante (qui marche), peut être que ça peut te donner une idée...
Const chemin_fichier1 = "https://teamplace.v[...]"
Function calcul_chemin(chemin1, chemin2 As String, annee As Variant, date_f As Variant) As String
calcul_chemin = chemin1 + annee + chemin2 + date_f + ".xls"
End Function
Sub dispo_RTI()
Dim d As Variant
Dim d_u As Variant
Dim date_update As Date
Dim fso As FileSystemObject, f As File
Set fso = New FileSystemObject
'#######################Problème ici######################################
On Error GoTo final
Set f = fso.GetFile("https://teamplace.v[...].xls")
MsgBox "Crée le : " & f.DateCreated
MsgBox "Modifié le : " & f.DateLastModified
MsgBox "Accédé le : " & f.DateLastAccessed
Set f = Nothing
Exit Sub
final:
Set fso = Nothing
End Sub
Sub activer_file_CTAR(dispo_ctar, nblignes_ctar, qs_ctar, fact_ctar, objQS_ctar, objfact_CTAR As Variant)
Dim chemin_fichier As String
Dim chemin_fichier2 As String
Dim mois As Variant
Dim annee As Variant
Dim date_fichier As Variant
' "https://teamplace.v[...].xls"
mois = Month(DateValue(Now))
annee = CStr(Year(DateValue(Now)))
date_fichier = CStr(mois) + "-" + annee
chemin_fichier = chemin_fichier1 + annee + chemin_fichier2 + date_fichier + ".xls"
Dim wb As Workbook
Dim ws As Worksheet
i = 0
On Error Resume Next
Do
'OUverture jusqu'à ce qu'il n'y ait plus d'erreurs
Err.Clear
Application.DisplayAlerts = False 'N'affiche pas de message d'erreur dans le cas où le fichier n'existe pas
i = i + 1
mois mois - 1 'On décrémente le num du mois (1er passage> fichier inexistant, passages suivants => mois précédent
If mois = 0 Then 'Cas du passage à l'année précédente
mois = 12
annee = annee - 1
End If
If mois < 10 Then
date_fichier = "0" + CStr(mois) + "-" + annee
Else
date_fichier = CStr(mois) + "-" + annee
End If
chemin_fichier = calcul_chemin(chemin_fichier1, chemin_fichier2, annee, date_fichier)
Dim nom_feuille As Variant
'le nom de la feuille varie selon la date
nom_feuille = "Q.S International " + Left(MonthName(mois), 3) + ". CTAR"
'Tentative d'ouverture, updateLinks => mise à jour automatique, pas d'affichage de boîte de dialogue,
' ReadOnly : on travaille forcément en mode Lecture seulement,pas d'affichage de boîte de dialogue
Set wb Workbooks.Open(chemin_fichier, UpdateLinks 3, ReadOnly = True)
Set ws = wb.Worksheets(nom_feuille)
'"""""""""""""""Ouverture OK !!!!
'Qd pas d'erreur, cad fichier qui s'ouvre, donc existe, on travaille sur le fichier ouvert
Loop While (Err.Number <> 0) Or (i = 4)
If i = 4 Then
MsgBox ("Pas de fichier trouvé pour le CTAR")
GoTo fin
End If
Application.DisplayAlerts = True 'Rétablit l'affichage des messages d'erreurs
dispo_ctar = ws.Cells(5 + mois, 4).Value
nblignes_ctar = ws.Cells(5 + mois, 2).Value
qs_ctar = ws.Cells(5 + mois, 6).Value
fact_ctar = ws.Cells(5 + mois, 8).Value
Set ws = wb.Worksheets("Suivi annuel par Zones Com.")
objQS_ctar = ws.Range("d3")
objfact_CTAR = ws.Range("f3")
'Dim ModifDate
' ModifDate = FileDateTime()
' MsgBox ("dernière modif à" & ModifDate)
' le fichier se trouve à l'emplacement suivant : moncheminUserByRoleList.XML
'' on créé une référence au fichier userbyrolelist.txt dérivé du fichier userbyrolelist.xml fourni par le système technique xx
'Set f_source = fso_filesystem.OpenTextFile(chemin, ForReading, False)
'
''---------------------------------------------------------------------------
''----- Récupération de la date de modification du fichier XML---------------
''---------------------------------------------------------------------------
'
'Dim fso, f_file
'Set fso = CreateObject("Scripting.FileSystemObject")
'Set f_file = fso.GetFile("https://teamplace.v[...].xls")
'ShowFileInfo = "Fichier Modifié: " & f_file.DateLastModified
'Set oFSO = CreateObject("Scripting.FileSystemObject")
'stFichier = "c:\tmp\Nouveau Document texte.txt"
'If oFSO.FileExists(stFichier) Then
' MsgBox ("DateLastModified :" & oFSO.DateLastModified & vbCrLf)
'End If
'
'last one
'####################Problème ici########################
Dim fso As FileSystemObject, f As File
Set fso = New FileSystemObject
On Error GoTo final
Set f = fso.GetFile("https://teamplace.v[...].xls")
MsgBox "Crée le : " & f.DateCreated
MsgBox "Modifié le : " & f.DateLastModified
MsgBox "Accédé le : " & f.DateLastAccessed
Set f = Nothing
Exit Sub
final:
Set fso = Nothing
wb.Close
fin:
End Sub