c
a
d
r
a
t






  Entrée  
   Ressources   
    Code  
     Découpage  
 
+  Des ressources en corpus, isotopies et programmes
+  Des articles d’ études sur le traitement automatique de la langue
+  Les pages du site pour des recherches, informations, résumés...

     le programme du découpage lexical en Macro VBA Word   
Le programme de découpage des mots d’un texte selon des critères linguistiques, en Macro VBA pour Word

 1.  description du programme

Ce code qui opère en Macro s'exécute étape par étape dans le fichier Word. Il sépare les ponctuations et les mots composés de façon à segmenter le texte en mots. Une fois ces opérations effectuées, l'on peut récupérer le texte pour d'autres traitements avec d'autres logiciels ou bien pousuivre des réalisations grâce aux nombreuses possibilités graphiques des logiciels bureautiques. Ces Macros sont rudimentaires, elles permettent surtout de dégrosir le texte. Pour un traitement plus poussé, il vaut mieux envisager de l'affiner ou le programme de découpage lexical en Python.

 2.  code de découpage de la ponctuation

          


Sub Découp_Ponctu()

selection.HomeKey Unit:=wdStory
selection.TypeText Text:=" "
selection.Find.ClearFormatting
selection.Find.Replacement.ClearFormatting
avant = Array("...", ",", ".", "(", ")", "pachopacho", "'", "aujourd' hui", "pin' s", "presqu' île", "m' as-tu-vu", "prud' ", "entr' ", "jusqu' au-bout", "je-m' en-", "-l' ", "-d' ")
apres = Array("pachopacho", " ,", " .", "( ", " )", " ...", "' ", "aujourd'hui'", "pin's", "presqu'île", "m'as-tu-vu", "prud'", "entr'", "jusqu'au-bout", "je-m'en-", "-l'", "-d'")
acron = Array("^?.^?.^?.^?.^? ", "^?.^?.^?.^?.^?.", "^?.^?.^? ", "^?.^?.^?.", "^?.^?.", "^?.^$ ", " ^$.", "^p^$.")

With ActiveDocument.Content
 .Find.Replacement.Font.color = wdColorLightOrange

For b = 0 To UBound(acron)
 .Find.Execute findtext:=acron(b), ReplaceWith:="", Replace:=wdReplaceAll
Next b
 .Find.Font.color = wdColorLightOrange
 .Find.Execute findtext:=".", ReplaceWith:="*", Replace:=wdReplaceAll
 .Find.Replacement.ClearFormatting
 .Find.ClearFormatting
End With

For a = 0 To UBound(avant)
With ActiveDocument.Content
 .Find.Execute findtext:=avant(a), ReplaceWith:=apres(a), Replace:=wdReplaceAll
End With
Next a

With ActiveDocument.Content
 .Find.Font.color = wdColorLightOrange
 .Find.Replacement.Font.color = wdColorAutomatic
 .Find.Execute findtext:="*", ReplaceWith:=".", Replace:=wdReplaceAll
 .Find.Execute findtext:="", ReplaceWith:="", Replace:=wdReplaceAll
 .Find.Replacement.ClearFormatting
 .Find.ClearFormatting
End With
selection.HomeKey Unit:=wdStory
selection.Delete Unit:=wdCharacter, count:=1

End Sub

         

 3.  code de découpage lexical

          


Sub Découp_MotCmps()

 selection.Find.ClearFormatting
 selection.Find.Replacement.ClearFormatting
 i = Array("nous", "vous", "le", "la", "là", "leur", "je", "tu", "il", "elle", "ci", "même", "lui", "moi", "toi", "en", "y", "ils", "elles", "mêmes", "les", "leurs", "t", "ce", "on", "-")

For
a = 0 To UBound(i)
 With ActiveDocument.Content
 .Find.Replacement.Font.color = wdColorLightOrange
 .Find.MatchWholeWord = True
 .Find.Execute findtext:=i(a), ReplaceWith:="", Replace:=wdReplaceAll
 End With
Next a

For a = 0 To UBound(i)
 With ActiveDocument.Content
 .Find.Font.color = wdColorLightOrange
 .Find.Execute findtext:="-" & i(a), ReplaceWith:=" - " & i(a), Replace:=wdReplaceAll
 End With
Next a

With ActiveDocument.Content
.Find.Font.color = wdColorLightOrange
.Find.Replacement.Font.color = wdColorAutomatic
.Find.Execute findtext:="", ReplaceWith:="", Replace:=wdReplaceAll
.Find.ClearFormatting
.Find.Replacement.ClearFormatting
End With

End Sub
 
         


     Les logiciels bureautiques    II.2.2.  

       Site       motte 0.5  
       Imprimer  
(de préférence en format paysage pour lire l'ensemble du code)
     Le programme du découpage lexical en Python
     Le programme des hautes fréquences en Macro VBA Excel
     La page d’accueil
     Le sommaire des pages
     Rédaction : 01.07.2002      Publication : 01.05.2004                  http://cadrat.saynete.net2003 - 2018