insérer macro word dans macro excel

D

darib52

Guest
je copie des données issues de word dans excel.
j'ai besoin d'effectuer un travail dans word avant de copier dans excel.


comment puis-je insérer cette macro 'word' dans la macro excel qui copie le doc word ?

voici la macro 'word'
Sub separateur()
'
' separateur Macro
' Macro enregistrée le 07/11/2005 par daniel
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = '.'
.Replacement.Text = ' '
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub


et voici la macro excel que j'utilise
Sub Bouton2_QuandClic()
Dim Wrd As Object

Application.ScreenUpdating = False

Set Wrd = CreateObject('word.application')
Wrd.Visible = False
monChemin = InputBox('Saisissez le chemin complet', '')
Wrd.documents.Open (monChemin)
Wrd.Selection.WholeStory
Wrd.Selection.Copy
Sheets('modele').Copy after:=Worksheets(Sheets.Count)
Nom = InputBox('Entrez le nom pour la feuille en cours :')
If Nom <> '' Then ActiveSheet.Name = Nom
Range('aa1').Select
ActiveSheet.Paste
Wrd.Application.Quit
Range('G7').Select
Columns('A:A').ColumnWidth = 34.86
ActiveWindow.SmallScroll Down:=48
Range('A53:D60').Select
Selection.EntireRow.Delete
ActiveWindow.SmallScroll Down:=30
Range('A88:D97').Select
Selection.EntireRow.Delete
ActiveWindow.SmallScroll Down:=45
Range('A1:A133').Select
Selection.RowHeight = 25
End Sub


bien sûr j'ai essayé d'insérer l'une dans l'autre mais ça ne fonctionne pas.
merci de votre aide
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir darib52,

N'y connaissant rien à Word, c'est par déduction et surtout en consultant les Pages Wiki de MichelXLD (page 3) que je te propose le code ci-joint :
Sub Bouton2_QuandClic()
Dim docWord As Word.Document
Dim appWord As Word.Application
Dim monchemin As Variant
Dim
Nom As String

      Application.ScreenUpdating = False
      monchemin = Application.GetOpenFilename('Doc Word (*.doc), *.doc')
      If monchemin = False Then Exit Sub
      Set appWord = New Word.Application
      appWord.Visible = False
      Set docWord = appWord.Documents.Open(monchemin, ReadOnly:=True)
      With appWord
            .Selection.WholeStory
            .Selection.Copy
      End With
      Sheets('modele').Copy after:=Worksheets(Sheets.Count)
      Nom = InputBox('Entrez le nom pour la feuille en cours :')
      If Nom <> '' Then ActiveSheet.Name = Nom
      Range('aa1').Select
      ActiveSheet.Paste
      appWord.Application.Quit
      Selection.Replace What:='.', Replacement:=' '
      Columns('A:A').ColumnWidth = 34.86
      Range('A53:D60').EntireRow.Delete
      Range('A88:D97').EntireRow.Delete
      Range('A1:A133').RowHeight = 25
     
      Application.ScreenUpdating = True
End Sub
ATTENTION : nécessite l'activation de la référence Microsoft Word xx.x Object Library.

En espérant avoir pu te dépanner...

Cordialement,
 

Discussions similaires

Réponses
7
Affichages
854