XL 2010 Vérifier la présence d'un fichier avec nom variable

Bulr6

XLDnaute Nouveau
Bonjour à tous,

Toujours dans la poursuite de mes recherches pour l'un de mes projets ... je souhaite lancer une procédure de sauvegarde d'un fichier à intervalle régulière ... l'aspect régulier étant particulièrement variable ... bref !
J'ai imaginé une commande qui à l'ouverture du classeur vérifierait l’existence du fichier en question donc s'il a déjà était enregistrer la commande s'interrompt sinon en enregistre le fichier.
La subtilité c'est que le nom est variable. La commande enregistre la classeur avec le nom et l'année du mois précédent

'récupérer le nom à donner au nouveau classeur
1 nomNewClasseur = Format(DateSerial(Year(Date), Month(Date) - 1, 1), "mm-yyyy") & " " & "Boulogne"
'sauvegarder le classeur et le fermer
On Error Resume Next
newWbk.SaveAs pathMesDocuments & "\" & nomNewClasseur & ".xlsx"

Donc pour mon besoin j'aimerais tester à chaque ouverture du classeur s'il existe dans un dossier déterminer un fichier avec ce nom "composé" ... si le fichier n'existe pas (donc avec le mois précédent) il lance la macro qui crée la sauvegarde si le fichier existe il stop la procédure et ne lance pas la macro

Merci d'avance à tous ceux qui prendront le temps de se pencher sur mon problème.
 

Bulr6

XLDnaute Nouveau
je crois que je suis sur la bonne voie

Sub TesteSiFichierExiste()
Dim MonFichier As String

MonFichier = "Z:\****\archive\" & Format(DateSerial(Year(Date), Month(Date) - 1, 1), "mm-yyyy") & " " & "Boulogne" & ".xlsx"

If FichierExiste(MonFichier) = True Then
MsgBox "Le fichier existe !!!"
Exit Sub

Else
Call save.save_lastmonth

End If

End Sub
Public Function FichierExiste(MonFichier As String)
If Len(Dir(MonFichier)) > 0 Then
FichierExiste = True
Else
FichierExiste = False
End If
End Function
 

thebenoit59

XLDnaute Accro
Bonjour Bulr6.

Vois avec ce code :
VB:
Sub test()
Dim filePath$, fileName$
fileName = Format(DateSerial(Year(Date), Month(Date) - 1, 1), "mm-yyyy") & " " & "Boulogne" & ".xlsx"
filePath = "Z:\****\archive\" & fileName
If Not checkFile(filePath) Then Call save.save_lastmonth
End Sub

Function checkFile(filePath$)
If Dir(filePath) <> "" Then
    checkFile = True
        Else
    checkFile = False
End If
End Function

Pense à mettre tes parties de codes en balises, sinon c'est illisible.
 

Discussions similaires

Statistiques des forums

Discussions
312 248
Messages
2 086 595
Membres
103 250
dernier inscrit
keks974