Salut,
J'ai un truc tiré de là
http://www.vbfrance.com/codes/AFFI [...] 18737.aspx
Le principe est d'abord de sélectionner chacune des pages et de les permuter. J'ai donc créé à partir de là plusieurs macros à lancer successivement. A priori, c'est un peu lourd mais ça marche à peu près très bien. Visiblement, le sujet n'a pas l'air d'inspirer grand monde.
S'il y avait des sections, peut-être que ce serait plus simple mais honnêtement je n'en sais rien.
1/
Sub SélectionPage()
Dim Message, Title, Default, NumPageSelection
Message = "Tapper le numéro de la page à afficher:"
Title = "Sélectionner page."
Default = "1"
NumPageSelection = InputBox(Message, Title, Default)
ActiveDocument.Range.Select
Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, _
Count:=NumPageSelection + 1
Selection.Move Unit:=wdCharacter, Count:=-1
nbligne = Selection.Information(wdFirstCharacterLineNumber)
Selection.Move Unit:=wdCharacter, Count:=1
With Selection
.HomeKey Unit:=wdLine, Extend:=wdMove
.ExtendMode = True
.MoveUp Unit:=wdLine, Count:=nbligne
.ExtendMode = False
End With
End Sub
2/Taper 4 par ex et OK
3/Sub Macro2()
Selection.Cut
Dim Message, Title, Default, NumPageSelection
Message = "Tapper le numéro de la page à afficher:"
Title = "Sélectionner page."
Default = "1"
NumPageSelection = InputBox(Message, Title, Default)
ActiveDocument.Range.Select
Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, _
Count:=NumPageSelection + 1
Selection.Move Unit:=wdCharacter, Count:=-1
nbligne = Selection.Information(wdFirstCharacterLineNumber)
Selection.Move Unit:=wdCharacter, Count:=1
With Selection
.HomeKey Unit:=wdLine, Extend:=wdMove
.ExtendMode = True
.MoveUp Unit:=wdLine, Count:=nbligne
.ExtendMode = False
End With
End Sub
4/Taper 13 par ex et OK
5/Sub Macro3()
Selection.MoveUp Unit:=wdLine, Count:=1
Selection.TypeParagraph
Selection.PasteAndFormat (wdPasteDefault)
Dim Message, Title, Default, NumPageSelection
Message = "Tapper le numéro de la page à afficher:"
Title = "Sélectionner page."
Default = "1"
NumPageSelection = InputBox(Message, Title, Default)
ActiveDocument.Range.Select
Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, _
Count:=NumPageSelection + 1
Selection.Move Unit:=wdCharacter, Count:=-1
nbligne = Selection.Information(wdFirstCharacterLineNumber)
Selection.Move Unit:=wdCharacter, Count:=1
With Selection
.HomeKey Unit:=wdLine, Extend:=wdMove
.ExtendMode = True
.MoveUp Unit:=wdLine, Count:=nbligne
.ExtendMode = False
End With
End Sub
6/Taper 12 (page 13-1)
7/Sub Macro4()
Selection.Cut
Dim Message, Title, Default, NumPageSelection
Message = "Tapper le numéro de la page à afficher:"
Title = "Sélectionner page."
Default = "1"
NumPageSelection = InputBox(Message, Title, Default)
ActiveDocument.Range.Select
Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, _
Count:=NumPageSelection + 1
Selection.Move Unit:=wdCharacter, Count:=-1
nbligne = Selection.Information(wdFirstCharacterLineNumber)
Selection.Move Unit:=wdCharacter, Count:=1
With Selection
.HomeKey Unit:=wdLine, Extend:=wdMove
.ExtendMode = True
.MoveUp Unit:=wdLine, Count:=nbligne
.ExtendMode = False
End With
End Sub
8/Taper 4 et OK
9/Sub Macro5()
Selection.MoveUp Unit:=wdLine, Count:=1
Selection.TypeParagraph
Selection.PasteAndFormat (wdPasteDefault)
End Sub