Bonjour à tou(te)s
Je suis tout nouveau en programmation excel VBA, j'ai beaucoup lu sur les forums mais je n'arrive pas à résoudre mon problème:
j'ai créé une application qui permet de chiffrer des produits en direct chez les clients par l'intermédiaire de formulaires
Tout fonctionne bien jusqu'au moment ou je souhaite mettre en forme mon devis sur word par publipostage des champs et insertion de la grille de tarif à l'aide d'un signet.
j'ai donc essayé d'adapter vos codes que j'ai trouvé sur plusieurs discussions à mon besoin mais quand je lance le débogage pour voir combien d'erreur j'ai fait ça bloque sur la première ligne : Dim docWord As word.Document en me disant que le type défini par l'utilisateur est non défini
Voici le bout de code en question
(pour info je travail sur office 365)
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 Dim docWord As word.Document Dim appWord As word.Application Dim NomBase As String NomBase = "D:\ahaVBA\0A-H-A calcul VBA.xlsm" Set appWord = CreateObject("Word.Application") appWord.Visible = True Set docWord = appWrd.Documents.Open("D:\ahaVBA\DevisAHA.doc", ReadOnly:=True) With docWord.mailMerge 'Ouvre la base de données .OpenDataSource Name:=NomBase, _ Connection:="Driver={Microsoft Excel Driver (*.xls)};" & "DBQ=" & NomBase & "; ReadOnly=True;", SQLStatement:="SELECT * FROM [tmpBDD$]" ' 'Exécute l'opération de publipostage .Execute Pause:=False End With Dim TabTarif As Range For i = 1 To 20 If (Worksheets("tmptarif").Range("A" & i) <> "") Then TabTarif = Worksheets("tmptarif").Range("A1:B" & i) i = i + 1 End If Next i docWord.bookmarks("TableauTarif").Range.Text = TabTarif Application.ScreenUpdating = True
Je vous remercie par avance pour vos explications et votre temps
Partager