test de fichier existant

  • Initiateur de la discussion Initiateur de la discussion ALLAIN Didier
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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+
 
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
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
453
Retour