Bonjour à tous,
Pour gagner du temps dans ma pratique professionnelle j'aimerais réaliser une macro qui récupère des informations d'un fichier Excel pour les coller dans un modèle Word. J'ai donc découvert depuis une semaine les joies du code VBA et eu plusieurs fois au cours de celle-ci envie de balancer mon ordi par la fenêtre
Toutefois grâce à de super forums comme celui-ci j'ai compris le B.A-BA du codage VBA et un jour, oh miracle!, trouvé dans un forum un code déjà tout prêt pour ce que je voulais faire . Je teste, ça fonctionne, j'enregistre, je suis heureuse.
Malheureusement ce matin lorsque je veux enfin utiliser ma macro et ça ne fonctionne plus . Le message d'erreur: "Erreur 13 incompatibilité de type" s'affiche. J'ai beau m'être creusé la tête toute la journée et avoir fouillé de nombreux forum je reste sans savoir d'où viens le problème. Du coup si une âme charitable peut m'éclairer ce serait vraiment sympa.
Voici le code en question:
Option Explicit
Sub Excel_WordBmk()
Dim AppWord As Object
Dim DocWord As Object
Dim Wkb As Workbook
Dim NomCell As Excel.Name
Dim sChemin As String
Set Wkb = ThisWorkbook
sChemin = ThisWorkbook.Path & "\Livret_de_synthèse.docx"
On Error GoTo Erreurs
Set AppWord = CreateObject("Word.Application")
Set DocWord = AppWord.Documents.Add(sChemin)
For Each NomCell In Wkb.Names
If DocWord.Bookmarks.Exists(NomCell.Name) Then
DocWord.Bookmarks(NomCell.Name).Range.Text = Feuil1.Range(NomCell.Value)
End If
Next NomCell
DocWord.SaveAs Filename:=ThisWorkbook.Path & "\Livret_de_synthèse.docx"
DocWord.Close
Retour:
If Not AppWord Is Nothing Then AppWord.Quit False
Set AppWord = Nothing
Exit Sub
Erreurs:
MsgBox Err.Number & vbCrLf & Err.Description
Resume Retour
End Sub
J'ai adapté le code de façon à ce qu'il ouvre le fichier word classé dans le même dossier, attribué des noms aux cases que je souhaite copier sur excel et donner les mêmes noms a des signets sur word pour que la macro "sache" où coller les valeurs des cases.
Je ne sais pas si je suis clair mais j'espère que vous pourrez m'aider