Sauvegarder un fichier avec la date dans le nom
Le nom que peut prendre un fichier excel ne peut pas contenir les 9 caractères suivants : * ? > < : / | "
En conséquence, ton format date ne peut pas contenir des "/". Tu peux les remplacer par des "-"
Une petite macro te permettra de t'assurer que que la cellule A1 ne contient pas un de ces symboles :
Dim Arr Arr = array("*","?",">","<",":","","/","|")
x = ActiveSheet.Range("G19").Value
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 remplacer "/" 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 utilises les variable X et MaDate pour indiquer le lieu de la sauvega
rde ActiveWorkbook.SaveAs Filename:=
_
"C:\MondossierMonSousDossier" & x & MaDate & ".
xls" Attention : ActiveWorkbook fait référence au fichier actif à l'écran. Si tu as plusieurs fichiers ouverts, le résultat peut être différent de celui souhaité. Tu peux remplacer ActiveWorkbook par ThisWorkbook si la macro est écrite dans le fichier à partir duquel la sauvegarde est faite. Si tu inclus l'heure dans le nom du fichier, tu devras utiliser la fonction Now et non Date MaDate = Format(Now,"dd-MM-YY h-mm-ss")
Astuce illustrée par ce classeur
fc-sauvegardeauto
Auteur : Denis Michon
Mots clefs associés à cette page : date, fichier, classeur, file, xls, heure, sauvegarder, enregistrer
- Vous devez vous identifier ou créer un compte pour écrire des commentaires
