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 -
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.
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:
- Excel- Sauvegarder avec un nom special
- Caractere special - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Trier un tableau excel - Guide
- Déplacer colonne excel - Guide
6 réponses
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.
Private Sub CommandButton1_Click()
ActiveSheet.SaveAs Filename:=[A1] & ".xls"
End Sub
je mettrai en A1 mon nom formaté comme je veux.
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...
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...
Bonjour pijaku,
Ca tombe bien, je ne trouvais pas comment avoir les 2 dernier chiffres pour l'année.
Merci à vous !
Ca tombe bien, je ne trouvais pas comment avoir les 2 dernier chiffres pour l'année.
Merci à vous !
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
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
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...
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...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
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.
"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...
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...