Xls vers word ou inversement
Bonjour à tous,
Je souhaite automatisé plusieurs de mes fichiers.
J'ai vu bon nombre de sujets à propos de cela mais je ne m'en sors pas. ( et pourtant il y a nombre d'articles...)
Voici donc mon souci.
J'ai une base de document word. : nom du fichier Base_RAC
Sur ce document sont sous la forme signets les éléments suivants :
le numéro de série, la date, le nom de la machine, le nom du client, la langue.
Je souhaiterais par l'intermédiaire d'un fichier (je l'imagine excel; que j'appelle exceltoword... ) modifier la valeur des champs et enregistrer dans un nouveau document, en word et pdf si possible.
J'ai trouvé un code mais ne connaissant pas assez le visual je n'arrive pas à le transposer ... encore faut-il que ce soit la bonne base...
Je l'ai commenté comme je le comprends et comme je m'interroge :
'Exceltoword nom de mon fichier excel pour transferer les informations
'à saisir dans les cases excel aux signets Word.
'Base_RAC mon fichier de base word
'Le code suivant est à ecrire dans xls ou dans word
Sub Exceltoword() 'dois je mettre le nom de mon fichier xls ou ça n'a rien à voir?
'dim je déclare que ... ? là je séche...
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Dim i As Byte
'Définition du format d'enregistrement ?
Dim LaDate As String, Laformation As String, LeRep As String
LaDate = Format(Date, "dd/mm/yyyy")
Laformation = Sheets("FICHE_PDF").Range("C11").Value
LeRep = ThisWorkbook.Path & "\New\"
Set WordApp = CreateObject("word.application")
Set WordDoc = WordApp.Documents.Open(ThisWorkbook.Path & "\New\" & "Base_RAC.docx") 'ouvre le document Word
WordApp.Visible = False
'mes différents signets
'Cells(3,3) correspond à ma case de référence dans mon excel?Si oui Colonne ligne ou ligne colonne ?
WordDoc.Bookmarks("Série").Range.Text = Cells(3, 3) 'Série= nom du signet dans word.
WordDoc.Bookmarks("Date").Range.Text = Cells(4, 3) 'Date= nom du signet dans word.
WordDoc.Bookmarks("Machine").Range.Text = Cells(5, 3) 'Machine=nom signet dans word.
WordDoc.Bookmarks("Client").Range.Text = Cells(6, 3) 'Client=nom signet dans word.
'le dernier est un cas particulier dans l'idée il change une image type drapeau en fonction de la langue.
WordDoc.Bookmarks("Langue").Range.Text = Cells(7, 3) 'Langue=nom signet image dans word.
'Transformation du word en pdf ?
WordApp.Visible = True
WordDoc.ExportAsFixedFormat OutputFileName:= _
LeRep & LaDate & "_" & Laformation & ".pdf", ExportFormat:= _
17, OpenAfterExport:=True, OptimizeFor:= _
0, Range:=0, From:=1, To:=1, _
Item:=0, IncludeDocProps:=True, KeepIRM:=True, _
CreateBookmarks:=0, DocStructureTags:=True, _
BitmapMissingFonts:=True, UseISO19005_1:=False
'Fermeture du word ?
'Quitte l'application Word ?
WordDoc.Close SaveChanges:=False
WordApp.Quit
End SubSi jamais vous avez compris la demande et que pour vous c'est clair n'hésitez pas.
En attendant je continue a perdre mes cheveux lol.
Belle journée/Prenez soin de vous !