Generalisez une macro

terminus

XLDnaute Nouveau
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
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 105
dernier inscrit
Joffrette