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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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