macro SaveAs Filename

J

JM

Guest
Bonjour à tt le forum
j'ai un ptit pb à résoudre:
l'utilisateur en cliquant sur un bouton, doit provoquer l'enregistrement du fichier courant

L'enregistrement doit être sous la forme: "Saisie en date du JJMMAA.xls"
dans mon essai ci-dessous, j'ai mis en cellule A30 le texte "Saisie en date du "
La cellule D3 contient une date saisie par l'utilisateur

Dim e As String * 18 'entête du nom de fichier
Dim d As String * 6 'date
e = Range("a30") ' Heures du
d = Range("D3")
ActiveWorkbook.SaveAs Filename:="C:\Heures\" & (e) & (d)

mais qq chose ne va pas et je ne sais pas quoi, qq'un pourrait m'aider ?
merci
JM
 
J

JM

Guest
re à tt le forum
Merci du conseil JPM, j'avais déjà tenté ce truc là, mais c'est pas mieux, j'ai oublié de préciser que c'est sur cette ligne que le débogueur "bute"
A+
Je sais que je peux compter sur les astucieux du forum
Bon WE à tous
JM
 
C

chris

Guest
Bonjour
Si ta date contient des / cela ne peut marcher car c'est un caractère interdit dans les noms de fichiers : il faut décomposer la date pour ne garder que les nombres.
Par ailleurs pour le classement il vaut mieux aaaammjj.
Enfin je conseille toujours déviter les espaces et de les remplacer par des _ (tiret de soulignement ou undercore) : bien que Windows accepte théoriquement les espaces (seul OS à la faire) cela peut poser de gros problèmes un jour (des clients en ont fait l'expérience).
Chris
 
J

JM

Guest
merci Chris, bon, ça je savais déjà (le coup des / et du format de la date)
en fait je me demande si le fait que la date soit une variable déclarée seulement par "d" suffit. J'ai essayé plusieurs variantes sans succès. Est-ce que ma ligne de commande a la bonne syntaxe ?
Bonne journée à tous
JM
 
J

JM

Guest
Bonjour à tous
J'ai du nouveau:
en fait, ma variable d est une date que je récupère dans ma cellule D3.
Le problème c'est que cette date est:
soit tapée directement sous forme jjmmaa par l'utilisateur,
soit le résultat d'une fonction AUJOURDHUI()

j'ai essayé de la transcrire ailleurs en faisant:
=CELLULE("contenu";D3)
cela me permet entre autre de "rectifier le tir" si l'utilisateur tape JJ/MM/AA.
mais sans succès
le seul cas où ça marche, c'est quand la valeur de la cellule n'est pas le résultat d'une fonction, mais qu'elle est saisie directement.
Y-a t'il qq qui pourrait me faire avancer ?
Merci
JM
 

Discussions similaires

Statistiques des forums

Discussions
312 360
Messages
2 087 592
Membres
103 604
dernier inscrit
CAROETALEX59