Piloter Word depuis Excel - Commentenregistrer au format 97-2003

Résolu
CCM? Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,



Une macro lancée depuis Excel 2010 crée des documents Word en parcourant un tableau. La macro ouvre un template, transfère les données via des bookmarks et ensuite enregistre les fichiers Word au format ".DOCX"

Alors que je désire enregistrer ces fichiers au format ".DOC" (97-2003).

Quelle instruction faut-il utiliser? Merci de votre aide.

Voici le code :

Sub BonDeCommande()
'

Dim MonChemin As String 'variable qui recevra le chemin pour ouvrir le doc
Dim KlantBVC, KlantContact, KlantIBA, KlantOrderNummer, Klantreferentie, Klanttelefoon As String
Dim Repertoire, FichierModele, NomFichier As String
Dim CptClient, Cpt, ClientDébut, ClientFin, Pos As Integer

Dim appWrd, DocWord As Object

ClientDébut = InputBox("Premier client (numéro d'ordre) : ", "Bon de Commande FDG AMST par client", ActiveCell.Row - 3)
ClientFin = InputBox("Dernier client (numéro d'ordre) ", "Bon de Commande FDG AMST par client", ActiveSheet.UsedRange.Rows.Count)



For CptClient = ClientDébut To ClientFin

Cpt = CptClient + 3

FichierModele = "FichierModèle.dotx"
MonChemin = "V:\répertoire\" & FichierModele


Set appWrd = CreateObject("Word.Application")
appWrd.Visible = True
Set DocWord = appWrd.Documents.Add(Template:=MonChemin, NewTemplate:=False, DocumentType:=0)
Set DocWord = appWrd.activedocument

DocWord.Bookmarks("KlantOrderNummer").Range.Text = Cells(Cpt, 1)
DocWord.Bookmarks("KlantBVC").Range.Text = Cells(Cpt, 4)
DocWord.Bookmarks("KlantIBA").Range.Text = Cells(Cpt, 5)
DocWord.Bookmarks("KlantNaam").Range.Text = Cells(Cpt, 6)
DocWord.Bookmarks("Klanttelefoon").Range.Text = Cells(Cpt, 8)
If Cells(Cpt, 9) <> "" Then
DocWord.Bookmarks("EmailDienst").Range.Text = Cells(Cpt, 9) & ", "
End If
DocWord.Bookmarks("EmailMedewerker").Range.Text = Cells(Cpt, 10)
If Cells(Cpt, 11) <> "" Then
Pos = InStr(Cells(Cpt, 11), "@") + 1
DocWord.Bookmarks("KlantFax").Range.Text = "+" & Left(Cells(Cpt, 11), (Len(Cells(Cpt, 11)) - Pos))
End If
DocWord.Bookmarks("KlantReferte").Range.Text = Cells(Cpt, 12)

Repertoire = "V:\répertoire\fichierparclient\"
NomFichier = Cells(Cpt, 1) & "-" & Cells(Cpt, 5) & "-" & Cells(Cpt, 4)

appWrd.activedocument.SaveAs (Repertoire & NomFichier),

Next CptClient

End Sub
A voir également:

1 réponse

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Fait avec l'enregistreur de macro word2007-2010

appWrd.ActiveDocument.SaveAs FileName:=Repertoire & NomFichier, FileFormat:= _
wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
:=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
:=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False

Bonne suite
0
CCM? Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Il me fait une Compile error sur FileFormat:=wdFormatXMLDocument
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

remplacez wdFormatXMLDocument par wdFormatDocument
0