1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
Sub DVP_ExtraireLeTexteEntre2ParaMarqueurs()
'// Aller en début de document
Selection.HomeKey Unit:=wdStory
'// Inserer un tableau de 2 colonnes et de 2 lignes
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=2, NumColumns:=2, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixed
'// Rechercher le texte de style "Identifiant"
Selection.Find.ClearFormatting
Selection.Find.Style = ActiveDocument.Styles("Identifiant")
With Selection.Find
.Text = "^?"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
While Selection.Find.Found
With Selection
.MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdExtend
.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
End With
'// On stocke le texte de l'identifiant
aIdentifiant = Trim(Selection.Text)
Selection.MoveRight Unit:=wdCharacter, Count:=2
Selection.MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdExtend
While Selection.Paragraphs(Selection.Paragraphs.Count).Style <> "Fin_Identifiant"
Selection.MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdExtend
Wend
Selection.MoveUp Unit:=wdParagraph, Count:=1, Extend:=wdExtend
ActiveDocument.Range(Start:=ActiveDocument.Tables(1).Cell(Row:=ActiveDocument.Tables(1).Rows.Count - 1, Column:=1).Range.Start, End:=ActiveDocument.Tables(1).Cell(Row:=ActiveDocument.Tables(1).Rows.Count - 1, Column:=1).Range.Start).InsertAfter aIdentifiant
ActiveDocument.Range(Start:=ActiveDocument.Tables(1).Cell(Row:=ActiveDocument.Tables(1).Rows.Count - 1, Column:=2).Range.Start, End:=ActiveDocument.Tables(1).Cell(Row:=ActiveDocument.Tables(1).Rows.Count - 1, Column:=2).Range.Start).InsertAfter Selection.Text
'// On ajoute une ligne pour le tableau
ActiveDocument.Tables(1).Rows.Add BeforeRow:=ActiveDocument.Tables(1).Rows(ActiveDocument.Tables(1).Rows.Count)
Selection.MoveDown Unit:=wdParagraph, Count:=1
Selection.Find.Style = ActiveDocument.Styles("Identifiant")
With Selection.Find
.Text = "^?"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
Wend
'// On supprime les 2 dernières lignes du tableau
ActiveDocument.Tables(1).Rows(ActiveDocument.Tables(1).Rows.Count).Delete
ActiveDocument.Tables(1).Rows(ActiveDocument.Tables(1).Rows.Count).Delete
ActiveDocument.Tables(1).Select
Selection.Copy
'// Le presse-papier contient maintenant le tableau
'// on supprime les modifications que l'on vient de faire sur le document. Attention,le tabelau n'est plus que dans le presse-papier
'ActiveDocument.Close SaveChanges:=PromptToSave
End Sub |
Partager