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

Sauvegarde de fichiers

6 réponses
Avatar
Denys
Bonjour =E0 tous,

J'ai cr=E9=E9 une petite application qui sauvegarde automatiquement un
fichier au nom du client dans un classeur nomm=E9 Provincial.

Mon probl=E8me est que si j'ai un autre fichier avec le m=EAme nom, =E7a ne
fonctionne plus. Y a-t-il moyen de sauvegarder le fichier avec le nom
du client ainsi que la date et l'heure ? Selon Excel, cela ne semble
pas possible puisque l'heure s'=E9crit avec : et qu'on ne peut
sauvegarder un fichier ayant ce caract=E8re....

ActiveWorkbook.SaveAs Filename:=3D _
"o:\TAX SLIP 2007\LETTRES AU GOUV 2007\Provincial\" &
ActiveSheet.Range("G19").Value & Date & ".xls", FileFormat:=3D _
xlNormal, Password:=3D"", WriteResPassword:=3D"",
ReadOnlyRecommended:=3DFalse _
, CreateBackup:=3DFalse

Je ne peux pas avec Date... G19 =E9tant le nom du client...

Z'auriez une id=E9e?

Merci

Denys

6 réponses

Avatar
JPMonnier
Bonsoir, essaie ceci
Sub Test()
t = Left(Time, 2)
m = Mid(Time, 4, 2)
s = Right(Time, 2)
f = "client" & Date & "_" & t & m & s
MsgBox f
End Sub

--
Cordialement


"Denys" a écrit dans le message de
news:
Bonjour à tous,

J'ai créé une petite application qui sauvegarde automatiquement un
fichier au nom du client dans un classeur nommé Provincial.

Mon problème est que si j'ai un autre fichier avec le même nom, ça ne
fonctionne plus. Y a-t-il moyen de sauvegarder le fichier avec le nom
du client ainsi que la date et l'heure ? Selon Excel, cela ne semble
pas possible puisque l'heure s'écrit avec : et qu'on ne peut
sauvegarder un fichier ayant ce caractère....

ActiveWorkbook.SaveAs Filename:= _
"o:TAX SLIP 2007LETTRES AU GOUV 2007Provincial" &
ActiveSheet.Range("G19").Value & Date & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:úlse _
, CreateBackup:úlse

Je ne peux pas avec Date... G19 étant le nom du client...

Z'auriez une idée?

Merci

Denys
Avatar
Denys
Bonsoir JP,

Merci infiniment pour ton temps... je vais essayer ce que tu
proposes..... entretemps, j'ai aussi trouvé quelque chose...

ActiveWorkbook.SaveAs Filename:= _
"V:TAX SLIP 2007LETTRES AU GOUV 2007Provincial" &
ActiveSheet.Range("G19").Value & ", " & Format(Date, "dd-mmmm-yyyy") &
", " & Format(Time, "hh mm") & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:úlse _
, CreateBackup:úlse

@+

Denys
Avatar
MichDenis
Le nom que peut prendre un fichier excel à des restrictions
quant aux 9 caractères suivants : * ? > < : / | " Ces derniers
ne sont pas admissibles dans le nom d'un fichier.

En conséquence, ton format date ne peut contenir des "/". Tu peux
les remplacer par des "-"

Un petit exemple :

Dim Arr
Arr = array("*","?",">","<",":","","/","|")
x = ActiveSheet.Range("G19").Value
'Afin de t'assurer que que la cellule G19 ne contient pas un
de ces symboles

For each elt in arr
'Remplace chacun des élément par rien
'à toi de décider quel caractère tu voudrais.
x = replace(x,elt,"")
Next

Pour ce qui est de la date, tu peux utiliser la fonction "Format" comme ceci
pour t'assurer de remplace "/" par "-"

MaDate = Format(Date,"dd-MM-YY")

P.S. Tu peux choisir le format de ton choix Format(Date,"YYYY-MM-DD")
Il est préférable d'ajouter au format l'heure H:MM:SS à fin d'éviter que 2
fichiers aient le même nom dans le cas où tu fais plusieurs enregistrement à partir
du même classeur ... selon tes besoins naturellement !

Ensuite, tu peux reprendre ta ligne de code en utilisant les variable X et MaDate
dans ta ligne de code.

ActiveWorkbook.SaveAs Filename:= _
"o:TAX SLIP 2007LETTRES AU GOUV 2007Provincial" &
x & MaDate & ".xls"

Attention : Si tu utilises ActiveWorkbook, cela signifie le fichier actif à l'écran
dans le cas où tu as plusieurs fichiers ouverts, le résultat peut être différent que
celui souhaité. Tu peux remplacé ActiveWorkbook par ThisWorkbook si la
macro est écrite dans le fichier à partir duquel la sauvegarde est faite.



"Denys" a écrit dans le message de news:

Bonjour à tous,

J'ai créé une petite application qui sauvegarde automatiquement un
fichier au nom du client dans un classeur nommé Provincial.

Mon problème est que si j'ai un autre fichier avec le même nom, ça ne
fonctionne plus. Y a-t-il moyen de sauvegarder le fichier avec le nom
du client ainsi que la date et l'heure ? Selon Excel, cela ne semble
pas possible puisque l'heure s'écrit avec : et qu'on ne peut
sauvegarder un fichier ayant ce caractère....

ActiveWorkbook.SaveAs Filename:= _
"o:TAX SLIP 2007LETTRES AU GOUV 2007Provincial" &
ActiveSheet.Range("G19").Value & Date & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:úlse _
, CreateBackup:úlse

Je ne peux pas avec Date... G19 étant le nom du client...

Z'auriez une idée?

Merci

Denys
Avatar
MichDenis
Si tu inclus l'heure dans le nom du fichier,
tu devras utiliser la fonction Now et non Date
MaDate = Format(Date,"dd-MM-YY h-mm-ss")


"MichDenis" a écrit dans le message de news:
O8c%
Le nom que peut prendre un fichier excel à des restrictions
quant aux 9 caractères suivants : * ? > < : / | " Ces derniers
ne sont pas admissibles dans le nom d'un fichier.

En conséquence, ton format date ne peut contenir des "/". Tu peux
les remplacer par des "-"

Un petit exemple :

Dim Arr
Arr = array("*","?",">","<",":","","/","|")
x = ActiveSheet.Range("G19").Value
'Afin de t'assurer que que la cellule G19 ne contient pas un
de ces symboles

For each elt in arr
'Remplace chacun des élément par rien
'à toi de décider quel caractère tu voudrais.
x = replace(x,elt,"")
Next

Pour ce qui est de la date, tu peux utiliser la fonction "Format" comme ceci
pour t'assurer de remplace "/" par "-"

MaDate = Format(Date,"dd-MM-YY")

P.S. Tu peux choisir le format de ton choix Format(Date,"YYYY-MM-DD")
Il est préférable d'ajouter au format l'heure H:MM:SS à fin d'éviter que 2
fichiers aient le même nom dans le cas où tu fais plusieurs enregistrement à partir
du même classeur ... selon tes besoins naturellement !

Ensuite, tu peux reprendre ta ligne de code en utilisant les variable X et MaDate
dans ta ligne de code.

ActiveWorkbook.SaveAs Filename:= _
"o:TAX SLIP 2007LETTRES AU GOUV 2007Provincial" &
x & MaDate & ".xls"

Attention : Si tu utilises ActiveWorkbook, cela signifie le fichier actif à l'écran
dans le cas où tu as plusieurs fichiers ouverts, le résultat peut être différent que
celui souhaité. Tu peux remplacé ActiveWorkbook par ThisWorkbook si la
macro est écrite dans le fichier à partir duquel la sauvegarde est faite.



"Denys" a écrit dans le message de news:

Bonjour à tous,

J'ai créé une petite application qui sauvegarde automatiquement un
fichier au nom du client dans un classeur nommé Provincial.

Mon problème est que si j'ai un autre fichier avec le même nom, ça ne
fonctionne plus. Y a-t-il moyen de sauvegarder le fichier avec le nom
du client ainsi que la date et l'heure ? Selon Excel, cela ne semble
pas possible puisque l'heure s'écrit avec : et qu'on ne peut
sauvegarder un fichier ayant ce caractère....

ActiveWorkbook.SaveAs Filename:= _
"o:TAX SLIP 2007LETTRES AU GOUV 2007Provincial" &
ActiveSheet.Range("G19").Value & Date & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:úlse _
, CreateBackup:úlse

Je ne peux pas avec Date... G19 étant le nom du client...

Z'auriez une idée?

Merci

Denys
Avatar
MichDenis
OUPS ! comme ceci
MaDate = Format(Now,"dd-MM-YY h-mm-ss")
Avatar
Denys
On 4 juin, 15:09, "MichDenis" wrote:
OUPS ! comme ceci
MaDate = Format(Now,"dd-MM-YY h-mm-ss")


Bonjour Denis,

Merci, c'est quasiment tout un cours !!! J'ai copié toutes tes info
pour information future !!!

Merci

Denys