Sauvegarde de fichiers

Le
Denys
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:=False _
, CreateBackup:=False

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

Z'auriez une idée?

Merci

Denys
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
JPMonnier
Le #6777421
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" 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
Denys
Le #6777411
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
MichDenis
Le #6777381
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"
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
MichDenis
Le #6777871
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" 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"
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
MichDenis
Le #6777861
OUPS ! comme ceci
MaDate = Format(Now,"dd-MM-YY h-mm-ss")
Denys
Le #6783071
On 4 juin, 15:09, "MichDenis"
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

Publicité
Poster une réponse
Anonyme