Piloter Word depuis Excel - Commentenregistrer au format 97-2003

Résolu/Fermé
CCM? Messages postés 2 Date d'inscription mardi 18 décembre 2012 Statut Membre Dernière intervention 18 décembre 2012 - 18 déc. 2012 à 09:12
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 18 déc. 2012 à 16:11
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 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
18 déc. 2012 à 09:27
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 mardi 18 décembre 2012 Statut Membre Dernière intervention 18 décembre 2012
18 déc. 2012 à 15:54
Il me fait une Compile error sur FileFormat:=wdFormatXMLDocument
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
18 déc. 2012 à 16:11
Bonjour,

remplacez wdFormatXMLDocument par wdFormatDocument
0