Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

effectuer un travail dans word depuis excel

1 réponse
Avatar
darib52
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 . )
si la macro fonctionne dans word, 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

1 réponse

Avatar
Ange Ounis
je reviens avec une question restée sans réponse à ce jour.


Peut-être ne suis-je pas seul à trouver la question imprécise. La macro
'separateur' est-elle enregistrée dans le document Word et doit-elle être
déclenchée depuis Excel ?
Pourquoi ne pas remplacer le point par un espace après l'importation dans Excel
? D'après l'enregistreur de macros, il ne faut qu'une ligne de code pour le faire :

Sub Macro1()
Selection.Replace What:=".", Replacement:=" ", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
End Sub

En clair, est-ce que tu ne te compliques pas un peu la vie ?
;)

----------
Ange Ounis
----------

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 . )
si la macro fonctionne dans word, 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:H
Range("A53:D60").Select
Selection.EntireRow.Delete
ActiveWindow.SmallScroll Down:0
Range("A88:D97").Select
Selection.EntireRow.Delete
ActiveWindow.SmallScroll Down:E
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