Bonjour à tous,
Je rame...bon, voilà le contexte:
- Nous travaillons avec des utilisateurs qui n'ont pas de compétences informatiques, l'idée est donc de leur fournir des outils simples du genre "je clique sur un bouton"
- Moi, je ai les compétences en VBA d'un débutant, voir moins
- J'ai crée un dossier modèle qui contient les différents fichiers dont nous avons besoin pour gérer les sinistres. Ce dossier sera copié et renommé à chaque nouveau sinistre. Du coup le chemin de la source de données pour le publipostage aussi...
- Le départ est un fichier Excel avec plusieurs onglets dans lequel nous entrerons toutes les informations liées au sinistre. Nous devrons alors éditer plusieurs courriers pour la police, les assurances etc...
Depuis le fichier Excel j'appelle le fichier Word avec un bouton:
Cela fonctionne mais le fichier ne s'affiche pas à l'écran mais seulement dans la barre des tâches, mais ce n'est pas le plus important. J'ai donc mon fichier Word à l'écran et j'ai ajouter un petit bouton dans la barre d'accès rapide qui doit faire le publipostage. J'ai créé des signets dans mon courrier type mais j'ai une erreur sur Bookmarks. Voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Sub Editer() Dim oApp As Object Dim Chemin As String Dim Chemin_complet As String Dim File_name As String File_name = "Plainte contre X.docx" Chemin = ThisWorkbook.Path Chemin_complet = Chemin & "\" & File_name Set oApp = CreateObject("Word.Application") oApp.Documents.Open Chemin_complet oApp.Visible = True End Sub
Il y a peut être plus simple mais déjà si cela fonctionnait nous gagnerions un temps précieux. Je glisse mes 2 fichiers.
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 Sub Plainte() Dim Chemin As String Dim Chemin_complet As String Dim File_name As String File_name = "Fichier suivi de sinistre.xlsm" Chemin = ActiveDocument.Path Chemin_complet = Chemin & "\" & File_name ActiveDocument.MailMerge.OpenDataSource Name:=Chemin_complet, _ ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _ AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _ WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _ Format:=wdOpenFormatAuto, Connection:= _ "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=Chemin_complet;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=35;" _ , SQLStatement:="SELECT * FROM `Les_faits$`", SQLStatement1:="", SubType _ :=wdMergeSubTypeAccess ActiveDocument.Fields.Add Range:=Bookmarks("CLIENT").Range, Type:=wdFieldMergeField, Text:="""CLIENT""" ActiveDocument.Fields.Add Range:=Bookmarks("adresse").Range, Type:=wdFieldMergeField, Text:="""Adresse""" ActiveDocument.MailMerge.Execute End Sub
Merci d'avance de vos lumières et de votre aide.
Fiche suivi de sinistre.xlsmPLAINTE CONTRE X.docx
Très cordialement,
Fred
Partager