Bonjour,
J'aimerais pouvoir exporter des données qui se situent sur mon document Excel, vers un document Word.
J'ai une trame Word, que je veux remplir (à ce niveau d'avancement, je me demande si c'est plus intéressant de créer depuis Excel systématiquement un nouveau document Word, ou bien de le remplir avec des données, l'enregistrer sous un autre nom, puis le fermer sans l'enregistrer afin de conserver la trame).
Mon document Excel comporte un tableau mis en forme ainsi que des données disséminées à différents endroits (documents mis en PJ).
J'aimerais rapporter ces données dans plusieurs tableaux dans mon document Word puis y intégrer mon tableau mis en forme au centre.
J'ai donc commencé à chercher des moyens d'ouvrir mon document Word, je m'y prends ainsi :
Public Sub gen_devis()
Dim Destination$, chefic$, wd As Word.Document, appWrd As Word.Application
Set appWrd = CreateObject("Word.Application")
Destination = ThisWorkbook.Path & "\Devis\"
If Not Reper(Destination) Then MkDir Destination
If check_fich(Destination & "Devis_modele_AB-JB.docx") = True Then
chefic = Destination & "Devis_modele_AB-JB.docx"
appWrd.Visible = False
'Set wd= appWrd.Documents. _
'Open(chefic, ReadOnly:=True)
Set wd = appWrd.Documents.Open(chefic) 'ERREUR ICI
Else
End If
'With wd.Tables(1)
'End with
Function Reper(R As String) As Boolean
On Error Resume Next: Reper = GetAttr(R) And vbDirectory
End Function
Function check_fich(lk As String) As Boolean
Dim F As Object
Set F = CreateObject("Scripting.FileSystemObject")
check_fich = F.FileExists(lk)
Set F = Nothing
End Function
Mais je me retrouve avec un temps d'exécution très lent, jusqu'à recevoir le message suivant :
> "Microsof Excel is waiting for another application to complete an OLE action. "
Je suis obligé d'annuler, j'obiens alors le message :
> Run-time error [...] Method 'Open' of object 'Document' failed.
Bonne fin de journée !