Macro Word a partir de donnees Excel

Bonjour a tous,

Je cherche a faire la même chose que la macro qui suit (et qui marche très bien), mais a partir d'une macro Word et non Excel car mon fichier excel change toutes les semaines.

Public Sub test()

Dim WordApp As Word.Application

Dim WordDoc As Word.Document

Dim i As Byte

Dim n As Long

Set WordApp = CreateObject("word.application") 'ouvre une session Word

Set WordDoc = WordApp.Documents.Open("monfichier.doc") 'ouvre le document Word

WordApp.Visible = False 'Word est masqué pendant l'opération

n = Range("A2").SpecialCells(xlCellTypeLastCell).Row 'Compte le nombre de lignes non vides

For i = 2 To n

If Cells(i, 5) = "A" Then

'les signets du document Word sont nommés Signet1 , Signet2 , Signet3 ,...

WordDoc.Bookmarks("Signet" & 1).Range.Text = Cells(i, 16) & vbCrLf

ElseIf Cells(i, 5) = "B" Then

WordDoc.Bookmarks("Signet" & 2).Range.Text = Cells(i, 16) & vbCrLf

ElseIf Cells(i, 5) = "C" Then

WordDoc.Bookmarks("Signet" & 3).Range.Text = Cells(i, 16) & vbCrLf

ElseIf Cells(i, 5) = "D" Then

WordDoc.Bookmarks("Signet" & 4).Range.Text = Cells(i, 16) & vbCrLf

ElseIf Cells(i, 5) = "E" Then

WordDoc.Bookmarks("Signet" & 5).Range.Text = Cells(i, 16) & vbCrLf

End If

Next i

WordApp.Visible = True 'affiche le document Word

End Sub

Voila ce que j'ai commencé a faire :

Public Sub test1()

Dim ExcelApp As Excel.Application

Dim ExcelDoc As Excel.Workbook

Dim i As Byte

Dim n As Long

Set ExcelApp = CreateObject("excel.application") 'ouvre une session Excel

Set ExcelDoc = ExcelApp.Workbooks.Open("fichierexcel.xlsm") 'ouvre le document Excel

ExcelApp.Visible = False 'Excel est masqué pendant l'opération

Je n'arrive pas a continuer... Sauriez-vous m'aider ?

Bonne journee

bonjour

ne jamais mettre de calculs (ni de macros) dans un fichier Excel qui est remis à jour périodiquement (souvent par export d'un progiciel)

créer un fichier MIR.xlsx miroir du fichier de données

MIR contient de simples liaisons vers le fichier de données (copier/collage spécial avec liaison)

MIR est une image fidèle des données.

mettre les formules ou les macros dans le MIR.xlsx

question à 2 balles : pourquoi mettre des données Excel dans Word (si ce n'est pas un publipostage) ?

Bonjour,

merci.

En fait j'exporte des donnees d'un logiciel (sous format xls) qui permet de gerer les taches de differentes equipes et a la fin de chaque semaine, ces taches doivent etre repertoriees dans un rapport word qui a une mise en page predefinie.

Les taches se mettront donc en forme sous forme de points en fonction de leur colonne dans excel :

Colonne A :

  • tache 1
  • tache 4

Colonne B :

  • tache 2
  • tache 3
  • tache 5
  • ... etc

re

ce serait plus simple si tu joignais ton xls et ton word

Oui bonne idee,

Voila les docs.

66doc-de-depart.zip (17.40 Ko)
68resultat-voulu.zip (18.02 Ko)
77fichierexcel.xlsx (17.95 Ko)

re

0/ ne pas toucher le fichier données.xls

1/ ton Word ne peut pas être fait en publipostage (dans un pp chaque ligne d'Excel devient un Word, ce qui n'est pas le cas pour toi)

Je ne comprends pas trop l'intérêt. Tu pourrais faire un filtre ou un TCD et créer un pdf. Ce serait plus simple. On peut en reparler si tu veux.

2/ par conséquent, si veux garder absolument ta macro, il te faut un fichier MIR miroir des données :

  • tu as un fichier données.xls (mis à jour par le progiciel)
  • et tu crées un fichier MIR.xlsx qui contient une feuille MIROIR. Dans MIROIR il n'y a que des liens vers données.sls. Tu peux obtenir des liaisons par copier données.xls et collage spécial avec liaison. Penser à copier une zone très longue pour prévoir que donnés.xls sera très long dans 5 ou 8 ans. Cet onglet sera en permanence à jour des données. Mettre ta macro dans MIR.xlsx.
Rechercher des sujets similaires à "macro word partir donnees"