Bonjour à tous et merci par avance de votre aide.
I° - Voici mon code Excel version 2003.
Sub M07_Rédaction_MSG_Admissibilité_OAES()
Dim fin&, i&, X&, aa As Variant, A&, n&, suite As Boolean, t$
'** Mettre le filtre en ligne 10.
Sheets("Prépa_Msg_Bo").Select
Rows("10:10").Select
Selection.AutoFilter
'** Filtrer sur la colonnes "A" que les lignes non vides.
Selection.AutoFilter Field:=1, Criteria1:="<>"
'*** Sélectionner dans la colonne "F" la valeur "OAES - 1" correspondant au candidats admissibles.
Selection.AutoFilter Field:=7, Criteria1:="OAES - 1"
'*** Ouvrir le document Word et lance la macro word (éventuellement :wrdApp.Run "Coller_Données_Excel_Msg")
Dim wrdApp As Object
Set wrdApp = CreateObject("Word.Application")
Dim wrdDoc As Object
wrdApp.Visible = True
Set wrdDoc = wrdApp.Documents.Open("D:\OaeaEs\08_DIFFUSSIONS_RESULTATS\81_Messages_Bo\811_Préparations_Bo\Doc2.doc")
' Lance la macro du document Word.
wrdApp.Run "Coller_Données_Excel_Msg"
'*** Coller données les valeurs des cellules Excel qui sont nommées (Obj1, Obj2, Ref1 et Ref2) sur les signets de 1 à 4 dans Word.
With wrdDoc
wrdDoc.Bookmarks("Signet1").Range.Text = "Obj1" ' Colle le mot A27 sur signet1 ?
wrdDoc.Bookmarks("Signet2").Range.Text = "Obj2" ' Colle le mot A28 sur signet2 ?"
wrdDoc.Bookmarks("Signet3").Range.Text = "Ref1" ' Colle le mot A29 sur signet3 ?"
wrdDoc.Bookmarks("Signet4").Range.Text = "Ref2" ' Colle le mot A30 sur signet4 ?
wrdDoc.Bookmarks("Signet5").Range.Text = ("A10:A800") ' Colle le mot A30 sur signet4
End With
Range("G1").Select
End Sub
' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
II° - Voici mon code Word version 2003 dans mon document "Doc2.doc".
Sub Coller_Données_Excel_Msg() ' Macro enregistrée le 01/05/2014
'** Supprimer les données des concours Oaes antérieurs.
Selection.MoveDown Unit:=wdLine, Count:=10
Selection.MoveRight Unit:=wdCell
ActiveWindow.ActivePane.VerticalPercentScrolled = 1
Selection.Delete Unit:=wdCharacter, Count:=1
'** Coller les données contenues dans le presse papier de la feuille "Prépa_Msg_Bo" Excel.
Selection.PasteSpecial Link:=False, DataType:=wdPasteText, Placement:=wdInLine, _
DisplayAsIcon:=False
End Sub
' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
MA DEMANDE :
J'arrive à coller une valeur "Obj1 dans le signet1, mais je ne parviens pas à enchaîner les collages de toutes mes valmeurs Excel sur mon document Word.
Voici les zones Excel à transférer :
'*** Recherche la zone nommée "Obj1" dans la feuille "Prépa_Msg_Bo" pour Signet1 de Doc2.
'Application.Goto Reference:="Obj1"
'Selection.Copy
'*** Recherche la zone nommée "Obj2" dans la feuille "Prépa_Msg_Bo" pour Signet2 de Doc2.
'Application.Goto Reference:="Obj2"
'Selection.Copy
'*** Recherche la zone nommée "Ref1" dans la feuille "Prépa_Msg_Bo" pour Signet3 de Doc2.
'Application.Goto Reference:="Ref1"
'Selection.Copy
'*** Recherche la zone nommée "Ref2" dans la feuille "Prépa_Msg_Bo" pour Signet4 de Doc2.
'Application.Goto Reference:="Ref2"
'Selection.Copy
'*** Sélectionne la zone à copier de la feuille "Prépa_Msg_Bo" pour le Signet5 de Doc2 correspondant au TEXTE du Msg.
'Sheets ("Prépa_Msg_Bo")
'Range("A10:A800").Select
'Selection.Copy
MERCI POUR VOTRE AIDE
Cordialment Pierre - LPZ34
Mon Fichier excel est très volumineux mais je mets en PJ le Doc2 Word.Doc2.doc
Partager