réorganiser l'ordre des pages [word] - Logiciels - Windows & Software
Marsh Posté le 14-06-2006 à 17:48:46
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
Marsh Posté le 17-06-2006 à 22:01:03
Bonsoir
Si ton document comporte des sections
http://www.vbfrance.com/recherche. [...] n&tr=forum
Sub Macroechangersection1et4()
Selection.GoTo What:=wdGoToSection, Which:=wdGoToFirst, Count:=4, Name:=""
'Count:= n° de la section à sélectionner
Selection.MoveEnd wdSection, 1
Selection.Cut
Selection.HomeKey Unit:=wdStory
Selection.TypeParagraph
Selection.PasteAndFormat (wdPasteDefault)
Selection.GoTo What:=wdGoToSection, Which:=wdGoToFirst, Count:=2, Name:=""
'Count:= n° de la section à sélectionner
Selection.MoveEnd wdSection, 1
Selection.Cut
Selection.GoTo What:=wdGoToSection, Which:=wdGoToFirst, Count:=4, Name:=""
'Count:= n° de la section à sélectionner
Selection.MoveEnd wdSection, 1
Selection.MoveUp Unit:=wdLine, Count:=1
Selection.MoveDown Unit:=wdLine, Count:=1
Selection.TypeParagraph
Selection.MoveUp Unit:=wdLine, Count:=1
Selection.PasteAndFormat (wdPasteDefault)
End Sub
Marsh Posté le 26-05-2006 à 20:08:40
Bonjour,
Comment faire, sous Word, pour réorganiser l'ordre des pages (par exemple, inverser une page avec une autre)?
Merci d'avance.