insérer texte dans word à un emplacement précis via VBA

  • Initiateur de la discussion Initiateur de la discussion ian2956
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ian2956

XLDnaute Nouveau
Bonjour tout le monde,

Après de nombreuses recherches je reviens vers vous pour mon problème.

J'ai un fichier excel avec des données que je voudrais insérer dans un document word. Dans ce .doc j'ai déjà réussi à insérer des données dans un tableau sans problème, mais je ne sais pas comment insérer des données à une place spécifique dans le texte du document word.

Code:
Sub facture()

Windows("fichier excel1.xlsm").Activate
Dim An As String
    An = Cells(2, 16).Value
    Mo = Cells(2, 17).Value
    Mo1 = Mo + 1
    
Windows("fichier excel 2.xls").Activate
Sheets("feuille1").Select
'Ouverture du document .doc pour la facture
'Necessite d'activer la reference Microsoft Word xx.x Object Library
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
 
Set WordApp = CreateObject("word.application")
WordApp.Visible = True 'mettre False pour garder Word masqué
Set WordDoc = WordApp.Documents.Open("C:document word à remplir.doc") 'ouvre le document Word
 
'remplissage de la facture
'Tables(2) correspond au 2eme tableu du document Word
'transfert la donnée de la cellule A1 dans la 3eme cellule de la 1ere colonne
    
   [COLOR="Red"] 'Date du jour en entête
    WordDoc.Rows(1).Range.Text = Format(Now, "dd/mm/yyyy")[/COLOR]

    'Date dans le tableau
    WordDoc.Tables(2).Columns(3).Cells(1).Range.Text = "01." & Mo & "." & An & " - " & "01.0" & Mo1 & "." & An
    
    'Données production dans le tableau
    WordDoc.Tables(2).Columns(3).Cells(2).Range.Text = Range("C32")
    WordDoc.Tables(2).Columns(3).Cells(3).Range.Text = Range("C33")
    WordDoc.Tables(2).Columns(3).Cells(4).Range.Text = Range("C34")
    WordDoc.Tables(2).Columns(3).Cells(5).Range.Text = Range("C35")
    WordDoc.Tables(2).Columns(3).Cells(6).Range.Text = Range("C36")
    'WordDoc.Close True 'ferme le document Word en enregistrant les modifications

En rouge le code que je voudrais changer pour que ca marche 🙄

Merci à tous ceux qui se pencheront sur le sujet
IaN
 
Re : insérer texte dans word à un emplacement précis via VBA

Bonjour ian2956,

le principe que je connais :
le plus simple est d'insérer des signets dans le document Word, et ensuite de lui demander de se placer sur le signet avant de taper le texte...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
511
Réponses
0
Affichages
706
Retour