impossible de enregistrer un fichier

Le
joseph84
Bonjour tout le monde,

je suis entrains de coder en vba une procedure qui va me permetre
d'enregistrer un fichier dans un emplacement precis.

le probleme c'est parfois on retrouve un fichier qui porte le meme nom
est qui est ouvert donc impossible de l'ecraser et impossible de le
fermer car il fait partit de la procedure.

est ce que il y a une facon de detecter cette particularite et de
changer le nom du fichier qu'on voudrais enregistrer et de laisser
l'autre comme il est.

merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #23685171
Bonjour,
Tu peux utiliser :

Sub Enregistrer()
Dim FSO As Object, NomFichier As String, Chemin As String
NomFichier = "Graph.jpg"
Chemin = "C:temp"
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(Chemin & "" & NomFichier) Then
MsgBox "Le fichier existe"
End If
End Sub

Cordialement.
Daniel


Bonjour tout le monde,

je suis entrains de coder en vba une procedure qui va me permetre
d'enregistrer un fichier dans un emplacement precis.

le probleme c'est parfois on retrouve un fichier qui porte le meme nom
est qui est ouvert donc impossible de l'ecraser et impossible de le
fermer car il fait partit de la procedure.

est ce que il y a une facon de detecter cette particularite et de
changer le nom du fichier qu'on voudrais enregistrer et de laisser
l'autre comme il est.

merci
DanielCo
Le #23685161
Ou :

Sub Enregistrer1()
Dim NomFichier As String, Chemin As String, Fich As String
NomFichier = "Graph.jpg"
Chemin = "C:temp"
Fich = Dir(Chemin & "" & NomFichier)
If Fich <> "" Then
MsgBox "Le fichier existe"
End If
End Sub

Daniel


Bonjour tout le monde,

je suis entrains de coder en vba une procedure qui va me permetre
d'enregistrer un fichier dans un emplacement precis.

le probleme c'est parfois on retrouve un fichier qui porte le meme nom
est qui est ouvert donc impossible de l'ecraser et impossible de le
fermer car il fait partit de la procedure.

est ce que il y a une facon de detecter cette particularite et de
changer le nom du fichier qu'on voudrais enregistrer et de laisser
l'autre comme il est.

merci
MichD
Le #23685371
Bonjour,

Essaie quelque chose comme :

Variable à renseigner ...
'----------------------------------------
Sub test()

Dim Wk As Workbook
Dim Chemin As String
Dim Fichier As String
Err = 0
Chemin = "C:Excel" 'à adapter
Fichier = "SonNoms.xls" 'à adapter

On Error Resume Next
Set Wk = Workbooks(Fichier)
If Err = 0 Then
If Dir(Chemin & Fichier) <> "" Then
If MsgBox("Ce fichier est ouvert et déjà présent dans ce " & _
"répertoire & """ & Chemin & """. Désirez-vous " & _
"Effectuer une sauvegarde du fichier.", vbYesNo + vbCritical, _
"Attention") = vbYes Then
Workbooks(Fichier).Save
Else
MsgBox "Opération annulée. "
Exit Sub
End If
Else
Workbooks(Fichier).SaveAs Chemin & Fichier
End If
Else
Err = 0
If Dir(Chemin & Fichier) <> "" Then
If MsgBox("Ce fichier déjà présent dans ce " & _
"répertoire & """ & Chemin & """. Désirez-vous " & _
"écraser pendant la sauvegarde.", vbYesNo + vbCritical, _
"Attention") = vbYes Then
Workbooks(Fichier).SaveAs Chemin & Fichier
Else
MsgBox "Opération annulée. ", vbCritical + vbOKOnly, "Attention"
Exit Sub
End If
Else
Workbooks(Fichier).SaveAs Chemin & Fichier
End If
End If
End Sub
'----------------------------------------



MichD
--------------------------------------------
"joseph84" a écrit dans le message de groupe de discussion :


Bonjour tout le monde,

je suis entrains de coder en vba une procedure qui va me permetre
d'enregistrer un fichier dans un emplacement precis.

le probleme c'est parfois on retrouve un fichier qui porte le meme nom
est qui est ouvert donc impossible de l'ecraser et impossible de le
fermer car il fait partit de la procedure.

est ce que il y a une facon de detecter cette particularite et de
changer le nom du fichier qu'on voudrais enregistrer et de laisser
l'autre comme il est.

merci
joseph84
Le #23685941
Merci beaucoup c'est exactement ce que je chercher
Publicité
Poster une réponse
Anonyme