Macro pour enregistrement fichier Word

Résolu/Fermé
Yves01 Messages postés 3 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 3 juillet 2006 - 1 juil. 2006 à 17:58
 sg - 29 mars 2012 à 21:25
Bonjour et merci d'avance pour votre aide.
Je désirerai créer une Macro dans word "systeme d'exploitation windows" dont la fonctionnalité serait "d'enregistrer sous" un fichier word qui serait nomé automatiquement. Le nom du fichier serait sous la forme de la date d'enregistrement au format suivant "YY,MM,DD.doc" .
Je vous remercie pour votre aide.
Yves
A voir également:

8 réponses

Bonjour, moi je voudrai enregistre mon document Excel avec un nom qui se trouve dans une cellule comment je peu faire ?

Merci de me répondre
6
Bonjour,

Voici un exemple de macro qui fait cela :
ActiveDocument.SaveAs FileName:=Format(Date, "yy") & "," & Format(Date, "mm") & "," & Format(Date, "dd") & ".doc"


Cette macro enregistre le document dans le dossier courant (Souvent Mes documents). Pour changer de dossier, mettre avant la ligne :
ChangeFileOpenDirectory "C:\dossier à enregistrer"
3
Yves01 Messages postés 3 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 3 juillet 2006
2 juil. 2006 à 21:41
Merci pour la solution elle fonctionne trés bien. Je connais une autre difficulté au sujet de cette macro. Il s'agirait d'incorporer aussi au nom du fichier une saisie qui se trouve dans ce fichier, or lorsque je suis en train d'enregistrer la macro je n'ai plus la main pour sélectionner (copier) le texte désiré. Cette saisie n'est jamais la même, en fait ce qui importe c'est de copier une saisie qui est à un endroit précis dans le fichier word et d'aller la coller à la suite de la date dans le nom. (précédente question)
0
Bonjour, je sais que ça 2 ans que tu as répondu à cette question mais, je t'ai trouvé par google. Lorsque j'utilise la fonction Format dans une macro Word, j'obtiens toujours le message: Erreur de compilation, Variable ou procédure attendue, et non un module. Pourquoi?
0
Bonjour
La réponse à la question de Yves m'a beaucoup aidée. Personnellement je souhaiterais que ma macro ouvre la boîte "enregistrer sous" pour que la personne saisisse le nom de son fichier mais que le dossier d'enregistrement soit déjà sélectionné grace à "ChangeFileOpenDirectory "C:\dossier à enregistrer".
Comment écrire cette macro avec peut-être ActiveDocument.SaveAs FileName etc... pour qu'elle laisse l'utilisateur saisir le nom ?
Sous Excel j'ai trouvé avec :
fichier = Application.GetSaveAsFilename(filefilter:="Classeur XLS (*.xls),*.xls", Title:=" ici et pas ailleurs")
Evidemment sous WORD c'est différent !!!grrr
merci
1
Ma macro pour sauver un fichier dont on rentre le numéro sur invite (4 caractères), sous le bom BC00+champ saisi ; le champ saisi (numéro de commande en l'occureence) est également rappelé sur le formulaire auquel cette macro est associée :

Sub SAUVE_COMMANDE()
'
' SAUVE_COMMANDE Macro
' Macro enregistrée le 05/04/2002 et 28/8/06 par XXX
' demande le n° de commande pour le concaténer ds le nom de fichier
' pb : si le fichier existe déjà il ne dit rien, et il écrase l'existant !
' confirmé par le support Microsoft, il faut tester avant...
' https://support.microsoft.com/en-us
' à travailler pour numéro auto : https://support.microsoft.com/en-us

' si le document ne contient pas de champ (formulaire) on sort
If ActiveDocument.FormFields.Count = 0 Then
End
End If

' si erreur on le dit et on décrit
On Error GoTo Errhandler

Dim NumeroDeCommande As Integer
Dim MessageExiste As String

choix:
Message = "Entrez le numéro de commande sur 4 chiffres maxi (suivant chrono classeur):"
titre = "Numéro chronologique du Bon de Commande"
NumeroDeCommande = InputBox(Message, titre)

' Le numéro de commande est inséré dans le premier champ du bon de commande, pour garantir la cohérence
ActiveDocument.FormFields("ref").Result = NumeroDeCommande


' Initialisation du message de fichier existant
MessageExiste = "Le fichier BC00" & NumeroDeCommande & " existe déjà. Voulez vous le remplacer ?"

ChangeFileOpenDirectory "P:\Administratif\1-BONS_DE_COMMANDE\"

' Check if the file exists.
If Dir("BC00" & NumeroDeCommande & ".doc") = "" Then
' If file does not exist, save without prompting.
ActiveDocument.SaveAs FileName:="BC00" & NumeroDeCommande & ".doc", FileFormat:=wdFormatDocument
Else
' If file does exist, prompt with warning message.
' Check value of button clicked in message box.
Select Case MsgBox(MessageExiste, vbYesNoCancel + vbExclamation)
Case vbYes
' If Yes was chosen, save and overwrite existing file.
ActiveDocument.SaveAs FileName:="BC00" & NumeroDeCommande & ".doc", FileFormat:=wdFormatDocument
Case vbNo
' si réponse non, on redemande un numéro
GoTo choix
Case Else
' If Cancel was chosen, do nothing.
End Select
End If

Errhandler:

If Err <> 0 Then
MsgBox Err.Description
End If

End Sub
0
Voilà ce que j'avais fait pour enregistrer systématiquement dans un dossier...

Sub enregist()
'
' enregist Macro
' Macro WORD enregistrée le 06/11/2006 par Isabelle AGUIRREGABIRIA - Is@tice
'Sauve là ou je veux

'
ChangeFileOpenDirectory "C:\Documents and Settings\isabelle\Bureau\bazar\"
Application.Dialogs.Item(wdDialogFileSaveAs).Show


End Sub
1
merci merci c'est la seule bonne réponse
0

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

Posez votre question
Bonjour,

mon problème est un peu similaire !

Je réalise un publipostage avec les données venant de Access. Un des champs est la référence : "REF"

Je voudrais, une fois la fusion réalisée et lorsque j'appuie sur "enregistrer sous" :

- avoir un chemin prédéfini : E:/TEMP
- que le nom de fichier soit la référence "ref".

Suis perdu. Pourriez m'aider SVP ?
0
merci ISabelle,

cela fonctionne bien pour définir le chemin de sauvegarde !

Mais comment définir que le nom de sauvegarde soir [ref].doc ?
0
Application.Dialogs.Item(wdDialogFileSaveAs).name="nom.doc"
0
Bonjour (avec un an de retard...)

J'ai bien lu et appliqué tous vos conseil mais voilà ce qui se passe chez moi suite à cette macro



Sub TEST_SAVE()
'
ChangeFileOpenDirectory "C:\Documents and Settings\STEPHANE\Mes documents\COURRIER\BROUILLONS\"
Application.Dialogs.Item(wdDialogFileSaveAs).Show
ActiveDocument.SaveAs FileName:="SDR" & Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hhmm") & ".doc" '

End Sub
' TEST_SAVE Macro
' Macro enregistrée le 06/05/2008 par STEPHANE

Alors, le nom du fichier est impeccable comme je veux (c'est à dire de type année/mois/jour/heure/minute précédé de mes initiales SDR) mais le problème est qu'il va toujours placer l'enregistrement dans le dossier de mes modèles et pas dans le dossier "Brouillons' là où je veux qu'il aille ?

Quelqu'un(e) aurait un ti tuaux pour moi ?

Merci d'avance !

Steph
0
essaye avec directement

ActiveDocument.SaveAs FileName:="C:\Documents and Settings\STEPHANE\Mes documents\COURRIER\BROUILLONS\SDR" & Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hhmm") & ".doc"

c'est plus direct et tu peux effacer les lignes

ChangeFileOpenDirectory "C:\Documents and Settings\STEPHANE\Mes documents\COURRIER\BROUILLONS\"
Application.Dialogs.Item(wdDialogFileSaveAs).Show
0
Bonjour,
J'ai exactement le même problème de document qui va dans mes modèles et non dans le repertoire que je mentionne dans la macro. SVP auriez vous une idee?????
0
Bonjour,

Je souhaite qu'une copie d'un formulaire word (version 2007) s'enregistre directement dans un dossier.

J'ai essayé avec les explications ci-dessus mais ça ne fonctionne pas sur word 2007.

Merci de votre aide.
0