Bonjour,

Après plusieurs recherches, je me permet de poser une petite requete car ceci est ma dernière solution,.... (désespéré)

J'explique ma situation, j'ai :

- Fichier .mer
- Fichier Cocktail1 avec macro 1
- Fichier coktail2 avec macro 2

Cocktail 1 macro 1
J'ai un fichier .mer qui est la source d'une fusion d'un document word appelé cocktail1 ce fichier .mer est mis à jour par filemaker qui exporte qu'un seul enregistrement à la fois.
Ensuite par filemaker, j'ouvre le docuement de référence Cocktail1 (qui affiche le contenu du.mer par des champs ) et là je souhaite créer une macro qui s'exécute dès l'ouverture du fichier et qui fusionne le document avec l'enregistrement contenu dans le .mer et ensuite enregistre directement le fichier selon un autre nom. coktail2(contenu dans les champs de fusion).

Cocktail 2 macro 2
Cependant Cocktail 2 lorsque je le réouvre ne doit pas réexécuter la macro 1, il ne doit contenir que la macro2 qui s'exécute selon l'utilisateur et qui permet de réenregistrer le document au meme format et un autre doc en pdf
Ce fichier cocktail ne doit egalement plus garder des champs de publipostage et être relier au fichier .mer

1) J'ai déjà essayer mais je m'y perd complètement, je ne sais pas qu'elle format de fichier doit avoir cocktail1 ? modèle? ou document?
quelles format docx, docm,dotm? ensuite pour le cocktail 2? quelles format docm?
2) Ensuite le placement des macros dans le projet je dois les mettre dans this document ou newmacros ?
je me perd un peu entre les formats et placement de macro pour arriver à mon objectif. Si quelqu'un pourrait m'éclaircir ca serait vraiment sympa car c'est un peu l'aboutissement de tout un projet mené sur filemaker...et là je bloque sur word !!! (normal j'y connais RIEN)

ci dessous mes codes de macros 1 et 2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
Sub macro1()
 
'doit s'exécuter à l'ouverture du document de référence cocktail et enregistrer selon contenu champs de fusion paragraph 3
par contre la macro ne doit pas s'exécuter dans le nouveau document
 
' macro1
'
'
    ActiveDocument.MailMerge.MainDocumentType = wdNotAMergeDocument
    ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
    ActiveDocument.MailMerge.OpenDataSource Name:= _
     "C:\Users\Thomas\Desktop\BaseFT\base.mer", ConfirmConversions:=False, _
        ReadOnly:=False, LinkToSource:=True, AddToRecentFiles:=False, _
        PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", _
        WritePasswordTemplate:="", Revert:=False, Format:=wdOpenFormatAuto, _
        Connection:="", SQLStatement:="", SQLStatement1:="", SubType:= _
        wdMergeSubTypeOther
    ActiveDocument.MailMerge.ViewMailMergeFieldCodes = wdToggle
    Dim toto As String
    toto = ActiveDocument.Paragraphs(3).Range
    toto = Left(toto, (Len(toto) - 1))
    ActiveDocument.MailMerge.DataSource.ActiveRecord = wdLastRecord
    ActiveDocument.MailMerge.MainDocumentType = wdNotAMergeDocument
 
    ActiveDocument.SaveAs FileName:="C:\Users\Thomas\Desktop\BaseFT\Devis\" & toto & ".docm", FileFormat:=wdFormatXMLDocumentMacroEnabled, _
         LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
        :="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
        SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
        False
 
      MsgBox "Fusion du document et sauvegarde réussie, une fois vos modifications apportées veuillez exécuter la 2ème macro"
End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
Sub macro2()
'
doit s'exécuter juste par demande de l'utilisateur et doit être présente sur le nouveau document cocktail 2
' macro2
'
        Dim toto As String
 
        toto = ActiveDocument.Name
        ActiveDocument.ExportAsFixedFormat OutputFileName:= _
        "C:\Users\Thomas\Desktop\BaseFT\Devis\" & toto & ".pdf", _
        ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
        wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
        Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
        CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
        BitmapMissingFonts:=True, UseISO19005_1:=False
        ActiveDocument.SaveAs FileName:="C:\Users\Thomas\Desktop\BaseFT\Devis\" & toto & ".docx", FileFormat:=wdFormatXMLDocument, _
         LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
        :="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
        SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
        False
        MsgBox "Enregistrement terminé sous format Pdf"
        ActiveWindow.Close
        Application.Quit
End Sub
Merci de votre aide
Thomas