Bonjour,
Voila je suis depuis peu sur un projet : Je vous explique je souhaite faire un tableau excel avec differentes colonne et differentes et en activant la macro que les cellules de la ligne se transmette automatiquement dans un fichier word aux positions adequates.
Jai reussi cela mais a ne le faire que sur la ligne 2 je voudrais donc la generaliser !
tout d'abord est ce possible ?
et javais l'idee de pouvoir selectionner la ligne dabord et donc les informations qui seront contenus dans ces cellules rempliseraient le fichier word !
est ce possible avc une macro ?
J'espere avoir ete assez explicatif et merci d'avance pour vos reponses !! =)
Mon code est le suivant :
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 29/05/2013 par pilapeyronie
'
'
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Set AppWord = New Word.Application
Application.DisplayAlerts = True
AppWord.ShowMe
AppWord.Visible = True
Worksheets("Feuil1").Range("B2:AF2").Copy
Set WordApp = CreateObject("word.application") 'ouvre une session Word
Set WordDoc = WordApp.Documents.Open("C:\Documents and Settings\pilapeyronie\Desktop\PQT258\PM07.doc")
'ouvre le document Word
WordApp.Visible = False 'Word est masqué pendant l'opération
WordDoc.Bookmarks("S1").Range.Text = Range("B2")
WordDoc.Bookmarks("S2").Range.Text = Range("C2")
WordDoc.Bookmarks("S3").Range.Text = Range("D2")
WordDoc.Bookmarks("S4").Range.Text = Range("E2")
WordDoc.Bookmarks("S5").Range.Text = Range("F2")
WordDoc.Bookmarks("S6").Range.Text = Range("G2")
WordDoc.Bookmarks("S7").Range.Text = Range("H2")
WordDoc.Bookmarks("S8").Range.Text = Range("I2")
WordDoc.Bookmarks("S9").Range.Text = Range("J2")
WordDoc.Bookmarks("S10").Range.Text = Range("K2")
WordDoc.Bookmarks("S11").Range.Text = Range("L2")
WordDoc.Bookmarks("S12").Range.Text = Range("M2")
WordDoc.Bookmarks("S13").Range.Text = Range("N2")
WordDoc.Bookmarks("S14").Range.Text = Range("O2")
WordDoc.Bookmarks("S15").Range.Text = Range("P2")
WordDoc.Bookmarks("S16").Range.Text = Range("Q2")
WordDoc.Bookmarks("S17").Range.Text = Range("R2")
WordDoc.Bookmarks("S18").Range.Text = Range("S2")
WordDoc.Bookmarks("S19").Range.Text = Range("T2")
WordDoc.Bookmarks("S20").Range.Text = Range("U2")
WordDoc.Bookmarks("S21").Range.Text = Range("V2")
WordDoc.Bookmarks("S22").Range.Text = Range("W2")
WordDoc.Bookmarks("S23").Range.Text = Range("X2")
WordDoc.Bookmarks("S24").Range.Text = Range("Y2")
WordDoc.Bookmarks("S25").Range.Text = Range("Z2")
WordDoc.Bookmarks("S26").Range.Text = Range("AA2")
WordDoc.Bookmarks("S27").Range.Text = Range("AB2")
WordDoc.Bookmarks("S28").Range.Text = Range("AC2")
WordDoc.Bookmarks("S29").Range.Text = Range("AD2")
WordDoc.Bookmarks("S30").Range.Text = Range("AE2")
WordDoc.Bookmarks("S31").Range.Text = Range("AF2")
WordApp.Selection.Goto what:=wdGoToBookmark, Name:="S1" ' on recherche le signet dans Word pour se positionner
WordApp.Selection.MoveLeft wdCharacter, 1 ' on se place AVANT le signet, ainsi l'ordre du texte ajouté sera correct
WordApp.Visible = True 'affiche le document Word WordDoc.PrintOut = True 'pour imprimer le doc obtenu
WordDoc.Save.Close = True 'ferme le document word en sauvegardant les données
WordDoc.Impression 'Pour imprimer le doc obtenu
End Sub
Voila je suis depuis peu sur un projet : Je vous explique je souhaite faire un tableau excel avec differentes colonne et differentes et en activant la macro que les cellules de la ligne se transmette automatiquement dans un fichier word aux positions adequates.
Jai reussi cela mais a ne le faire que sur la ligne 2 je voudrais donc la generaliser !
tout d'abord est ce possible ?
et javais l'idee de pouvoir selectionner la ligne dabord et donc les informations qui seront contenus dans ces cellules rempliseraient le fichier word !
est ce possible avc une macro ?
J'espere avoir ete assez explicatif et merci d'avance pour vos reponses !! =)
Mon code est le suivant :
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 29/05/2013 par pilapeyronie
'
'
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Set AppWord = New Word.Application
Application.DisplayAlerts = True
AppWord.ShowMe
AppWord.Visible = True
Worksheets("Feuil1").Range("B2:AF2").Copy
Set WordApp = CreateObject("word.application") 'ouvre une session Word
Set WordDoc = WordApp.Documents.Open("C:\Documents and Settings\pilapeyronie\Desktop\PQT258\PM07.doc")
'ouvre le document Word
WordApp.Visible = False 'Word est masqué pendant l'opération
WordDoc.Bookmarks("S1").Range.Text = Range("B2")
WordDoc.Bookmarks("S2").Range.Text = Range("C2")
WordDoc.Bookmarks("S3").Range.Text = Range("D2")
WordDoc.Bookmarks("S4").Range.Text = Range("E2")
WordDoc.Bookmarks("S5").Range.Text = Range("F2")
WordDoc.Bookmarks("S6").Range.Text = Range("G2")
WordDoc.Bookmarks("S7").Range.Text = Range("H2")
WordDoc.Bookmarks("S8").Range.Text = Range("I2")
WordDoc.Bookmarks("S9").Range.Text = Range("J2")
WordDoc.Bookmarks("S10").Range.Text = Range("K2")
WordDoc.Bookmarks("S11").Range.Text = Range("L2")
WordDoc.Bookmarks("S12").Range.Text = Range("M2")
WordDoc.Bookmarks("S13").Range.Text = Range("N2")
WordDoc.Bookmarks("S14").Range.Text = Range("O2")
WordDoc.Bookmarks("S15").Range.Text = Range("P2")
WordDoc.Bookmarks("S16").Range.Text = Range("Q2")
WordDoc.Bookmarks("S17").Range.Text = Range("R2")
WordDoc.Bookmarks("S18").Range.Text = Range("S2")
WordDoc.Bookmarks("S19").Range.Text = Range("T2")
WordDoc.Bookmarks("S20").Range.Text = Range("U2")
WordDoc.Bookmarks("S21").Range.Text = Range("V2")
WordDoc.Bookmarks("S22").Range.Text = Range("W2")
WordDoc.Bookmarks("S23").Range.Text = Range("X2")
WordDoc.Bookmarks("S24").Range.Text = Range("Y2")
WordDoc.Bookmarks("S25").Range.Text = Range("Z2")
WordDoc.Bookmarks("S26").Range.Text = Range("AA2")
WordDoc.Bookmarks("S27").Range.Text = Range("AB2")
WordDoc.Bookmarks("S28").Range.Text = Range("AC2")
WordDoc.Bookmarks("S29").Range.Text = Range("AD2")
WordDoc.Bookmarks("S30").Range.Text = Range("AE2")
WordDoc.Bookmarks("S31").Range.Text = Range("AF2")
WordApp.Selection.Goto what:=wdGoToBookmark, Name:="S1" ' on recherche le signet dans Word pour se positionner
WordApp.Selection.MoveLeft wdCharacter, 1 ' on se place AVANT le signet, ainsi l'ordre du texte ajouté sera correct
WordApp.Visible = True 'affiche le document Word WordDoc.PrintOut = True 'pour imprimer le doc obtenu
WordDoc.Save.Close = True 'ferme le document word en sauvegardant les données
WordDoc.Impression 'Pour imprimer le doc obtenu
End Sub
Dernière édition: