Bonjour,
Je suis également avec un problème d'export de tableau dans word. Après des heures de recherche, je ne trouve pas.
J'ai un code qui fonctionne pour insérer un tableau dans un nouveau fichier word. Cependant, j'aimerais que ce tableau soit positionné à un endroit précis d'un fichier existant. J'utilise des signets et cela fonctionne pour différentes cellules, mais pas pour le tableau. Ce tableau a un nombre de ligne qui n'est pas fixe. Je l'ai donc nommé "TableauPrix". Pouvez-vous corriger mon code? Après des heures de recherche, je ne trouve pas. Merci pour votre aide.
Voici la ligne qui pose problème: Document_Type.Bookmarks("Signet35").Range = "tableauPrix"
Code complet:
Sub Envoi_Word(Document As String)
Dim Application_Word As Object, Document_Type As Object 'Pour Word
Dim Chemin As String, Nom As String, i&
Dim dlgSaveAs
'Ouverture document Word et renseignement des signets
Set Application_Word = CreateObject("Word.Application") 'ouvre une session word
Set Document_Type = Application_Word.Documents.Open(ThisWorkbook.Path & "\" & Document & ".docx") 'ouvre le document Modèle Word
Application_Word.Visible = True 'affiche le Word mode Visualisation.
Select Case Document
Case "Courrier2"
Nom = "A " & Year(Ws3.Cells(DerLWs3, 2)) & " " & Ws3.Cells(DerLWs3, 1) & " " & Ws3.Cells(DerLWs3, 7) & " " & Ws3.Cells(DerLWs3, 18)
With Document_Type
For i = 2 To 11 'valeurs des cellules des colonnes 2 à 11
.Bookmarks("Signet" & i).Range = Ws3.Cells(DerLWs3, i + 5)
Next
End With
With Document_Type
For i = 21 To 22 'valeurs des cellules des colonnes 21 à 22
.Bookmarks("Signet" & i).Range = Ws3.Cells(DerLWs3, i - 18)
Next i
End With
Document_Type.Bookmarks("Signet30").Range = "DS/" & Ws3.Cells(DerLWs3, 20) & "/" & Year(Ws3.Cells(DerLWs3, 2)) & "/" & Ws3.Cells(DerLWs3, 1) ' soit initiales entreprise/initiales employé de feuille 3 colonne 20 / année de feuille 3 colonne 1)
Document_Type.Bookmarks("Signet31").Range = Ws3.Cells(DerLWs3, 2) 'essai d'ajout d'un signet n°31 pour envoyer la date reprise feuille 3 cellule 2
Document_Type.Bookmarks("Signet32").Range = Ws3.Cells(DerLWs3, 18) 'essai d'ajout d'un signet n°32 pour envoyer le contenu de la cellule 18 de la feuille 3 = "concerne"
'et pour ajouter signet 35 = TableauPrix nommé
Document_Type.Bookmarks("Signet35").Range = "tableauPrix"
End Select
'Activation de l'application Word et donc du fichier Word
Application_Word.Activate
'Changement du répertoire
Application_Word.ChangeFileOpenDirectory ThisWorkbook.Path
'Définit et ouvre la boite de dialogue "Enregistrer sous" avec le nom du fichier
Set dlgSaveAs = Application_Word.Dialogs(wdDialogFileSaveAs)
With dlgSaveAs
.Name = Nom
.Show
End With
MsgBox "Document Word ouvert", , "Info suivi"
End Sub