Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

SaveAs avec condition (VBA)

3 réponses
Avatar
gabrielle chabot-giroux
Bonjour à tous,

Ma macro compile des données obtenues de différents userforms dans un
tableau. Il y a un loop pour pouvoir entrer des client (c'est pour des
inscriptions) tant qu'on veut, mais je voudrais qu'un seul tableau compile
toutes les données recueillies par la même téléphoniste. J'ai donc créé un
événement "initialize" sur mon userform pour lui dire d'ouvrir un classeur
basé sur mon modèle et de l'enregistrer sous "Initiales" + "Date". Le pb
c'est que quand la macro fait son loop, elle vient pour enregistrer sous le
même nom, et là apparait le message "voulez-vous remplacer?" et si je fais
non, ça plante.

Ma question: existe-t-il une façon de demander à VBA de vérifier si le
fichier existe déjà?
Ex:

If [il existe un fichier nommé "Initiales" + "Date"] Then
Workbooks.Open FileName:="C:\" & "Initiales" + "Date"
Else ActiveWorkbook.SaveAs FileName:="Initiales" + "Date"
End If

Merci d'avance, Gabrielle

3 réponses

Avatar
ABED HADDOU
Bonjour "gabrielle chabot-giroux"

essaie :

Set fc = CreateObject("Scripting.FileSystemObject")
If fc.fileexists("c:Repton fichier.xls") Then
Open..........
.................
endif
Cordialement
Abed



Bonjour à tous,

Ma macro compile des données obtenues de différents userforms dans un
tableau. Il y a un loop pour pouvoir entrer des client (c'est pour des
inscriptions) tant qu'on veut, mais je voudrais qu'un seul tableau compile
toutes les données recueillies par la même téléphoniste. J'ai donc créé un
événement "initialize" sur mon userform pour lui dire d'ouvrir un classeur
basé sur mon modèle et de l'enregistrer sous "Initiales" + "Date". Le pb
c'est que quand la macro fait son loop, elle vient pour enregistrer sous le
même nom, et là apparait le message "voulez-vous remplacer?" et si je fais
non, ça plante.

Ma question: existe-t-il une façon de demander à VBA de vérifier si le
fichier existe déjà?
Ex:

If [il existe un fichier nommé "Initiales" + "Date"] Then
Workbooks.Open FileName:="C:" & "Initiales" + "Date"
Else ActiveWorkbook.SaveAs FileName:="Initiales" + "Date"
End If

Merci d'avance, Gabrielle





Avatar
Ange Ounis
If Dir("C:" & "Initiales" & "Date")<>"" Then
Workbooks.Open FileName:="C:" & "Initiales" + "Date"
Else ActiveWorkbook.SaveAs FileName:="Initiales" + "Date"
End If

----------
Ange Ounis
----------

Bonjour à tous,

Ma macro compile des données obtenues de différents userforms dans un
tableau. Il y a un loop pour pouvoir entrer des client (c'est pour des
inscriptions) tant qu'on veut, mais je voudrais qu'un seul tableau compile
toutes les données recueillies par la même téléphoniste. J'ai donc créé un
événement "initialize" sur mon userform pour lui dire d'ouvrir un classeur
basé sur mon modèle et de l'enregistrer sous "Initiales" + "Date". Le pb
c'est que quand la macro fait son loop, elle vient pour enregistrer sous le
même nom, et là apparait le message "voulez-vous remplacer?" et si je fais
non, ça plante.

Ma question: existe-t-il une façon de demander à VBA de vérifier si le
fichier existe déjà?
Ex:

If [il existe un fichier nommé "Initiales" + "Date"] Then
Workbooks.Open FileName:="C:" & "Initiales" + "Date"
Else ActiveWorkbook.SaveAs FileName:="Initiales" + "Date"
End If

Merci d'avance, Gabrielle




Avatar
ABED HADDOU
Sub Virif()
Dim myDate As String
myDate = Format(Date, "dd-mm-yy")
Set fc = CreateObject("Scripting.FileSystemObject")
If fc.fileexists("c:Initiales" & myDate & ".xls") Then
Workbooks.Open Filename:="C:Initiales" & myDate & ".xls"
Else
ThisWorkbook.SaveCopyAs Filename:="Initiales" & myDate & ".xls"
End If
End Sub
Abed


Bonjour à tous,

Ma macro compile des données obtenues de différents userforms dans un
tableau. Il y a un loop pour pouvoir entrer des client (c'est pour des
inscriptions) tant qu'on veut, mais je voudrais qu'un seul tableau compile
toutes les données recueillies par la même téléphoniste. J'ai donc créé un
événement "initialize" sur mon userform pour lui dire d'ouvrir un classeur
basé sur mon modèle et de l'enregistrer sous "Initiales" + "Date". Le pb
c'est que quand la macro fait son loop, elle vient pour enregistrer sous le
même nom, et là apparait le message "voulez-vous remplacer?" et si je fais
non, ça plante.

Ma question: existe-t-il une façon de demander à VBA de vérifier si le
fichier existe déjà?
Ex:

If [il existe un fichier nommé "Initiales" + "Date"] Then
Workbooks.Open FileName:="C:" & "Initiales" + "Date"
Else ActiveWorkbook.SaveAs FileName:="Initiales" + "Date"
End If

Merci d'avance, Gabrielle