Excel- Sauvegarder avec un nom special

Résolu
mod77 Messages postés 1284 Date d'inscription   Statut Membre Dernière intervention   -  
mod77 Messages postés 1284 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai 3 questionnaires sous excel, dans 3 classeurs différents, je voudrais savoir comment faire pour les sauvegarder avec pour nom la référence du client donnée dans une cellule particulière [A1] par exemple,
et 3 lettres d'identification du questionnaire (ENT, PLA, DES).

En [A1] est écrit un nombre, référence du client: "rrrr"
le format d'enregistrement doit être: 3 lettres "qqq" se rapportant au questionnaire (ENT, PLA, DES)
et l'année en cours sur 2 chiffres: "yy"
si possible avec séparateur.

ce qui doit donner: yy_rrrr_qqq.xls

en pratique: 10_1234_PLA.xls

quelqu'un a-t-il une idée pour m'aider ? merci.
A voir également:

6 réponses

mod77 Messages postés 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
C'est bon! j'ai ça trouvé sur le site en passant par "rechercher"

Private Sub CommandButton1_Click()
ActiveSheet.SaveAs Filename:=[A1] & ".xls"
End Sub

je mettrai en A1 mon nom formaté comme je veux.
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Salut,
3 classeurs = 3 macros non?
classeur PLA :
en A1 la valeur correspondante (ex : "rrrr")
ActiveWorkbook.SaveAs Right(Year(Date), 2) & " " & [A1] & " PLA"

A adapter pour les autres classeurs...
0
mod77 Messages postés 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
Bonjour pijaku,

Ca tombe bien, je ne trouvais pas comment avoir les 2 dernier chiffres pour l'année.

Merci à vous !
0
mod77 Messages postés 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
J'ai une erreur cependant:
Voila mon code dans lequel j'ai adapté le format de date que vous m'avez donné, mais l'année n'apparait pas dans le nom du fichier. Seriez-vous dire pourquoi SVP ?

cherep = "C:\SAUVEGARDE\"
nom = Right(Year(Date), 2) & "_" & Sheets("questionnaire").Range("A4") & "_PLA"

ActiveWorkbook.SaveCopyAs Filename:=cherep & nom

rep = MsgBox("Fichier sauvegardé sous: " & nom, vbYes + vbInformation, "Classeur questionnaire")

ps: je ne sais ce que font les codes: vbYes et vbInformation car c'est un code que j'ai repris tel quel.

merci
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Right(Year(Date), 2) renvoie les deux chiffres à droite de l'année "en cours". En l'occurence, renvoie ici "10". Pour obtenir 2010, suffit de mettre : Year(Date).
Si cela ne fonctionne pas, prodédez "pas à pas" comme suit :
Dim cherep As String, nom As String
cherep = "C:\SAUVEGARDE\"
MsgBox cherep
nom = Right(Year(Date), 2)
MsgBox nom
nom = Right(Year(Date), 2) & "_" & Sheets("questionnaire").Range("A4")
MsgBox nom
nom = Right(Year(Date), 2) & "_" & Sheets("questionnaire").Range("A4") & "_PLA"
MsgBox nom

Les différentes MsgBox vous indiquent donc pas à pas les noms sous lesquels vous pouvez enregistrer votre fichier. Vous verrez forcément d'où vient l'erreur...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mod77 Messages postés 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
Merci,
Ca marche maintenant!
Vous n'aviez pas d'idée pour ces info "vbYes + vbInformation" ? l'aide me dit qu'il n'y a pas d'info dessus.
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
"vbyes + vbinformation" est un type de "format" de msgbox. VbYes nous donne un bouton "OK" sur le MsgBox (comme d'hab quoi...) et vbinformation nous stipule que la MsgBox est une information pour l'utilisateur, avec un beau "i" dans la msgbox.
En fait, il en existe plusieurs types. Les plus utilisés sont :
VbYesNo qui permet à l'utilisateur de choisir :
Dim result as String
result = MsgBox("Voulez-vous vraiment écrire : toto en cellule A1", VbYesNo)
If result = vbYes then
[A1] = "toto"
Else
Exit Sub
vbinformation, vbabortretryignore (comme son nom l'indique...), vbcritical (croix rouge dans la msgbox) etc...
0
mod77 Messages postés 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
On ne peut être plus clair, Merci!
0