Re : Macro sous Word
Non, je ne vous avais pas oubliés, j'étais juste ... pas là!
me voici reviendue à mon poste de travail (j'ai pas internert chez moi... la honte!!!)
donc j'ai un 'tit peu modifié la super macro word comme suit :
Sub Test()
Dim myRange As Range
NbPages = Selection.Information(wdNumberOfPagesInDocument)
For i = 1 To NbPages - 1
Selection.GoTo What:=wdGoToPage, which:=wdGoToAbsolute, Count:=i 'Signet de début
Selection.Bookmarks.Add Name:="bmStart", Range:=Selection.Range
Selection.GoTo What:=wdGoToPage, which:=wdGoToAbsolute, Count:=i + 1 'Signet de fin
Selection.InsertBreak Type:=wdPageBreak
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.Bookmarks.Add Name:="bmEnd", Range:=Selection.Range
Traitement1 ActiveDocument.Range(Start:=ActiveDocument.Bookmarks("bmStart").Range.Start, End:=ActiveDocument.Bookmarks("bmEnd").Range.End)
Next
Selection.GoTo What:=wdGoToPage, which:=wdGoToAbsolute, Count:=i 'Signet de début
Selection.Bookmarks.Add Name:="bmStart", Range:=Selection.Range
Selection.EndKey Unit:=wdStory 'Signet de fin
Selection.Bookmarks.Add Name:="bmEnd", Range:=Selection.Range
Traitement1 ActiveDocument.Range(Start:=ActiveDocument.Bookmarks("bmStart").Range.Start, End:=ActiveDocument.Bookmarks("bmEnd").Range.End)
End Sub
Sub Traitement1(Arg1)
Arg1.Find.ClearFormatting
Arg1.Find.Replacement.ClearFormatting
With Arg1.Find
.Text = "^p"
.Replacement.Text = "^t"
End With
Arg1.Find.Execute Replace:=wdReplaceAll
End Sub
ça marche super nickel, reste à mettre une marque de paragraphe dès qu'on change de police, c'est possible ça???
Encore merci, Catrice (Ah, j'l'ai pas fait exprès!!, mais j'ai mis une virgule, comme ça on reprend son souffle entre les 2) pour cette super macro qui fait déjà une grande partie du boulot.
Bises
C@thy