test de fichier existant

A

ALLAIN Didier

Guest
second message
rebonjour,

Je voudrais que ma feuille soit sauvegarder sout le nom ecrit en A1 par exemple.
Comment faire un test verifiant qu'un fichier sous ce nom existe (et donc éviter un message d'erreur) et automatiquement changer le nom de ce fichier, par exemple
fichier =nom.xls
s'il existe
nom1.xls
s'il existe
nom2.xls
....

Merci de votre aide
 
D

Delors

Guest
Slt Alain,

Sub test1()
Dim repertoire As String, nom As String, i As Integer
repertoire = "c:\temp\"
nom = Range("A1")
repertoire = repertoire & Range("A1") & ".xls"
If Dir(repertoire) <> "" Then
MsgBox "Il exite déjà un fichier sous le nom suivant: " & nom, vbCritical, "Nom du Fichier"
For i = 1 To 100
nom = nom & i
repertoire = repertoire & nom & ".xls"
If Dir(repertoire) = "" Then Exit For
Next i
End If
MsgBox "le Programm a enregistré la Table sous le nom suivant: " & nom & "Nom du Fichier", vbInformation
ActiveWorkbook.SaveAs filename:=repertoire
End Sub


A+
 
A

arnaud

Guest
Salut :),

Normal : dans la ligne

nom = nom & i

cela ajoute a la variable nom la valeur de i mais vu que le nom lui même chose cela ne vas pas.......
ça sera mieux comme ça ;)

Sub test1()
Dim repertoire As String, nom As String, i As Integer, NomOrigine
repertoire = "c:\temp\"
NomOrigine = Range("A1")
repertoire = repertoire & Range("A1") & ".xls"
If Dir(repertoire) <> "" Then
MsgBox "Il exite déjà un fichier sous le nom suivant: " & nom, vbCritical, "Nom du Fichier"
For i = 1 To 100
nom = NomOrigine & i
repertoire = repertoire & nom & ".xls"
If Dir(repertoire) = "" Then Exit For
Next i
End If
MsgBox "le Programm a enregistré la Table sous le nom suivant: " & nom & "Nom du Fichier", vbInformation
ActiveWorkbook.SaveAs filename:=repertoire
End Sub
 
A

ALLAIN Didier

Guest
Merci,
Il faut faire les modifs suivantes pour que ça marche:
Sub test1()
Dim repertoire As String, nom As String, i As Integer, NomOrigine, reperto As String
reperto = "c:\temp\"
NomOrigine = Range("A1")
repertoire = reperto & Range("A1") & ".xls"
If Dir(repertoire) <> "" Then
MsgBox "Il exite déjà un fichier sous le nom suivant: " & NomOrigine, vbCritical, repertoire
For i = 1 To 100
nom = NomOrigine & i
repertoire = reperto & nom & ".xls"
If Dir(repertoire) = "" Then Exit For
Next i
End If
MsgBox "le Programm a enregistré la Table sous le nom suivant:" & nom, vbInformation
ActiveWorkbook.SaveAs Filename:=repertoire
End Sub
 
M

myDearFriend

Guest
Bonsoir Alain, Delors, Arnaud,


Dans le même style, on peut aussi faire :
Public Sub Sauvegarder_Click()
Dim Nom As String, Num As String, Chemin As String, Fichier As String
Dim N As Byte
Chemin = "c:\temp\"
Fichier = Range("A1")
Do
Num = IIf(N > 0, " (" & CStr(N) & ")", "")
Nom = Fichier & Num & ".xls"
N = N + 1
Loop Until Dir(Chemin & Nom) = ""
MsgBox Chemin & Nom
ActiveWorkbook.SaveAs Chemin & Nom
End Sub



Cordialement,
Didier_mDF

myDearFriend-3.gif
 

Discussions similaires

Réponses
2
Affichages
512
Réponses
15
Affichages
1 K
Compte Supprimé 979
C

Statistiques des forums

Discussions
314 161
Messages
2 106 545
Membres
109 615
dernier inscrit
outhman