J'ai réussi à faire transférer le contenu de cellules vers des signets dans Word sans trop de problèmes. J'ai juste un problème pour le transfert d'une tableau. Je lui ai créée un signet dans ma page Word, quand je lance la macro le signet me renvoi la valeur VRAI et le tableau s'insère en haut de feuille ce qui décale toute ma présentation.
Ma question est donc : Comment peut on définir une zone d'insertion pour un tableau dans une page Word ?
En vous remerciant
Code:
Sub SignetsWord()
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Set WordApp = CreateObject("word.application")
Set WordDoc = WordApp.Documents.Open("C:\Documents and Settings\Utilisateur\Mes documents\Chiffrage\Word\Modele.docx")
WordApp.Visible = False
WordDoc.Bookmarks("Signet1").Range.Text = Sheets("Entrée").Range("I3")
WordDoc.Bookmarks("Signet2").Range.Text = Sheets("Entrée").Range("K5")
WordDoc.Bookmarks("Signet3").Range.Text = Sheets("Rapport actuel").Range("A1:E32").Copy
WordApp.Selection.Paste
WordApp.Visible = True
End Sub
Voici le code que j'utilise pour ce genre de chose, à adapter
VB:
' Se positionner sur la balise <TABLEAU>
With AppWd.Selection.Find
.ClearFormatting
.Text = "<TABLEAU>"
.MatchWildcards = False
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
End With
AppWd.Selection.Find.Execute
' Copier le tableau dans excel
With Sheets("Rappels")
DLigR = .Range("F" & Rows.Count).End(xlUp).Row
.Range("A1:F" & DLigR).Copy
' Le coller dans Word
AppWd.Selection.Paste
End With
Je souri puisqu'en faisant mes recherches avant de poster je suis tombé sur une de tes interventions. J'avais récupéré ton code, qui était 2.5 fois plus long et j'avais essayé de l'adapter en vain. C'est petite réduction maison à visiblement été utile puisqu'en 5min j'ai réussi à le faire fonctionner pour mon cas. Je te remercie donc pour ton aide
Cependant il me reste une question très importante : Comment je peux faire pour préserver ma feuille type Word, c'est-à-dire de se servir de cette feuille comme un modèle, sans qu'elle puisse être modifiée ? Ou plutôt qu'elle ne puisse pas être enregistrée en étant modifiée.