piloter une macro word depuis excel

D

darib52

Guest
bonsoir à tous,
je reviens avec une question restée sans réponse à ce jour.

j'importe des données issues de word dans excel.
j'ai une macro qui fonctionne.
juste là pas pb.

mais avant d'importer dans excel je dois faire subir un petit traitement au document word ( suppression d'un séparateur de milliers matérialisé par un . )
la macro fonctionne dans word,
mais comment faire pour que je puisse faire l'ensemble de la tâche depuis excel.
pas si simple, à priori.

si quéqu'un peut m'aider. ça serait avec une grande satisfaction.
merci d'avance à tous.


voici la macro excel
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

et voici celle de word à insérer.
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
 

ThomasR

XLDnaute Occasionnel
Bonsoir darib52,

Avant de rentrer dans une macro Word qui serait moins simpa à écrir dans excel (même si pour les champions du forum c'est facil) à tu pensé à retraiter ton fichier apres l'import dans excel avec le meme type de macro ?.

sinon tu peux utiliser un replace durant le transport

Dim strText As String
Dim strNewText As String
strText = 'ta selection word
strNewText = Replace(strText, '.', ' ')
puis tu colles
 

Discussions similaires

Statistiques des forums

Discussions
312 347
Messages
2 087 504
Membres
103 565
dernier inscrit
Fabien78