Macro fusion

Le
lemg Hors ligne
Bonjour,
j'ai créé un macro en excel qui ouvre un fichier word et fusionne les données de excel vers word. La fusion fonctionne bien, mais une fois terminé, je voudrais que le nouveau document word soit enregistré sous un nouveau nom pour qu'il puisse ainsi être reouvert, consulté ou imprimé au besoin. Voici mon code, est-ce que quelqu'un pourrait m'aider ou me donner une piste à explorer? Merci!

Sheets("Fusion").Visible = True
Sheets("Fusion").Select
sourcefusion = ActiveWorkbook.Path & "" & ActiveWorkbook.Name

With WdDoc
'AfficheWord

' Créé la liaison à la base de données
.MailMerge.OpenDataSource Name:=sourcefusion, ConfirmConversions:=True, ReadOnly:úlse, LinkToSource:=True, SQLStatement:="SELECT * FROM `Fusion$`"

' Lancer la fusion du 1er et seul enreg vers un nouveau doc
With .MailMerge
.Destination = wdSendToNewDocument
With .DataSource
.FirstRecord = 1
.LastRecord = 1
End With
.Execute Pause:úlse
End With

' Affiche Word
.Application.Visible = True

End With
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #23860691
Bonjour,

Je suppose que dans ton code "With WdDoc" est ton document. Si tel est le cas, tu dois simplement ajouter une ligne de code à
la fin.
Tu peux utiliser l'enregistreur macro pour obtenir le code.

With WdDoc
'AfficheWord

' Créé la liaison à la base de données
.MailMerge.OpenDataSource Name:=sourcefusion, ConfirmConversions:=True,
ReadOnly:úlse, LinkToSource:=True, SQLStatement:="SELECT * FROM `Fusion$`"

' Lancer la fusion du 1er et seul enreg vers un nouveau doc
With .MailMerge
.Destination = wdSendToNewDocument
With .DataSource
.FirstRecord = 1
.LastRecord = 1
End With
.Execute Pause:úlse
End With

' Affiche Word
.Application.Visible = True

'*********'*********ligne ajoutée*******************
.SaveAs Filename:="lecheminNomduFichier.docm",FileFormat:=....
'*************************************************
End With

MichD
------------------------------------------
"lemg" a écrit dans le message de groupe de discussion :

Bonjour,
j'ai créé un macro en excel qui ouvre un fichier word et fusionne les données
de excel vers word. La fusion fonctionne bien, mais une fois terminé, je
voudrais que le nouveau document word soit enregistré sous un nouveau nom pour
qu'il puisse ainsi être reouvert, consulté ou imprimé au besoin. Voici mon code,
est-ce que quelqu'un pourrait m'aider ou me donner une piste à explorer?
Merci!

Sheets("Fusion").Visible = True
Sheets("Fusion").Select
sourcefusion = ActiveWorkbook.Path & "" & ActiveWorkbook.Name

With WdDoc
'AfficheWord

' Créé la liaison à la base de données
.MailMerge.OpenDataSource Name:=sourcefusion, ConfirmConversions:=True,
ReadOnly:úlse, LinkToSource:=True, SQLStatement:="SELECT * FROM `Fusion$`"

' Lancer la fusion du 1er et seul enreg vers un nouveau doc
With .MailMerge
.Destination = wdSendToNewDocument
With .DataSource
.FirstRecord = 1
.LastRecord = 1
End With
.Execute Pause:úlse
End With

' Affiche Word
.Application.Visible = True

End With
Le #23864731
MichD a écrit le 12/10/2011 à 23h33 :
Bonjour,

Je suppose que dans ton code "With WdDoc" est ton document. Si tel
est le cas, tu dois simplement ajouter une ligne de code à
la fin.
Tu peux utiliser l'enregistreur macro pour obtenir le code.

With WdDoc
'AfficheWord

' Créé la liaison à la base de données
.MailMerge.OpenDataSource Name:=sourcefusion, ConfirmConversions:=True,
ReadOnly:úlse, LinkToSource:=True, SQLStatement:="SELECT * FROM
`Fusion$`"

' Lancer la fusion du 1er et seul enreg vers un nouveau doc
With .MailMerge
.Destination = wdSendToNewDocument
With .DataSource
.FirstRecord = 1
.LastRecord = 1
End With
.Execute Pause:úlse
End With

' Affiche Word
.Application.Visible = True

'*********'*********ligne ajoutée*******************
.SaveAs Filename:="lecheminNomduFichier.docm",FileFormat:=....
'*************************************************
End With

MichD
------------------------------------------
"lemg" a écrit dans le message de groupe de discussion :


Bonjour,
j'ai créé un macro en excel qui ouvre un fichier word et fusionne
les données
de excel vers word. La fusion fonctionne bien, mais une fois terminé,
je
voudrais que le nouveau document word soit enregistré sous un nouveau
nom pour
qu'il puisse ainsi être reouvert, consulté ou imprimé au
besoin. Voici mon code,
est-ce que quelqu'un pourrait m'aider ou me donner une piste à explorer?
Merci!

Sheets("Fusion").Visible = True
Sheets("Fusion").Select
sourcefusion = ActiveWorkbook.Path & "" &
ActiveWorkbook.Name

With WdDoc
'AfficheWord

' Créé la liaison à la base de données
.MailMerge.OpenDataSource Name:=sourcefusion, ConfirmConversions:=True,
ReadOnly:úlse, LinkToSource:=True, SQLStatement:="SELECT * FROM
`Fusion$`"

' Lancer la fusion du 1er et seul enreg vers un nouveau doc
With .MailMerge
.Destination = wdSendToNewDocument
With .DataSource
.FirstRecord = 1
.LastRecord = 1
End With
.Execute Pause:úlse
End With

' Affiche Word
.Application.Visible = True

End With


Bonjour,

Merci pour votre réponse, effectivement si j'ajoute le code que vous m'avez recommandé, le document word initialement ouvert est enregistré sous le nom désiré, toutefois, je voudrais que le document enregistré sous soit la lettre type créé par la fusion. Auriez-vous des pistes de solution à me proposer?

Merci!
MichD
Le #23870691
| je voudrais que le document enregistré sous soit la lettre
| type créé par la fusion. Auriez-vous des pistes de solution à me proposer?

Autrement dit, tu voudrais enregistrer le fichier dans le même répertoire
où est situé le document WdDoc. Ai-je bien compris ?

Si oui,

'----------------------------------
With WdDoc

'Le code
.SaveAs Filename:= .Path & "" & "NomduFichier.docm"
End With
'----------------------------------



MichD
------------------------------------------
Publicité
Poster une réponse
Anonyme