c
a
d
r
a
t






  Entrée  
   Ressources   
    Code  
     Triage  
 
+  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 des hautes fréquences en Macro VBA Excel   
Le code en VBA des mots d’une liste classée par ordre décroissant

 
 

 1.  présentation du code



A. Copie d’écran des colonnes dans Excel.
 

À partir d’une liste de mots dans la colonne A, le programme affiche les vocables dans la colonne B et leur fréquence d’apparition dans C.

Pour installer la macro : allez dans Outil/Macro/Visual Basic Editor. Dans la fenêtre Projet - VBAProject, (en haut à gauche), cliquez dans Feuil1, pour faire apparaître la fenêtre de code. Collez-y le programme puis positionnez le curseur en début de programme. Pour exécuter le programme, cliquez dans l’icone de lecture, (triangle vert), confirmez l’exécution de HtFreq. Le programme fonctionne aussi avec les chiffres. Reste à trier la colonne C pour obtenir les hautes fréquences.

Pour une approche plus manuelle, on peut utiliser simplement la fonction NB.SI.


 
 
 

 2.  code des hautes-fréquences

Pour copier le code ci-dessous dans le presse-papier : restez sur le rectangle et cliquer droit/copier.

          


' Fréquence des mots - par Vincent Comiti - 01.09.2003
' http://cadrat.saynete.net

Option Explicit
Dim nombre, w, n, i, j, fin1, fin2 As Integer
Dim Cellules, V, enregistrement


Sub HtFreq()
j = 0
Compter
ReDim V(n)

For
i = 1 To n
 enregistrement = Range("A" & i).Value
 If RechercheSiDeja Then
  nombre = 1
  For Each Cellules In Range("A" & i + 1 & ":A" & n + 1)
   If Cellules.Value = enregistrement Then
    nombre = nombre + 1
   End If
  Next
  j = j + 1
  ActiveSheet.Cells(j, 2).Value = enregistrement
  ActiveSheet.Cells(j, 3).Value = nombre
  V(i) = enregistrement
 End If
Next i

End Sub


Function Compter()

n = 0

Do
 fin1 = fin1 + 1
 If Cells(fin1, 1).Value = "" And Cells(fin1 + 1, 1).Value = "" And Cells(fin1 + 2, 1).Value = "" Then
 
fin2 = fin1
 End If
Loop Until fin2 = fin1

For Each
Cellules In Range("A1:A" & fin2)
 If Cellules.Value <> Empty Then
 n = n + 1
 End If
Next

End Function


Function RechercheSiDeja()

Dim
a
RechercheSiDeja = True

For
a = 0 To n Step 1
 If enregistrement = V(a) Then
 RechercheSiDeja = False
 Exit For
 End If
Next

End Function

 
           


 3.  liens

     Créer une macro, « vulgarisation-informatique 
http://www.vulgarisation-informatique.com/tutoriel-macro-excel.php
     Insérer une macro, « developper.com »   
http://silkyroad.developpez.com/VBA/DebuterMacros/


     Les logiciels bureautiques    II.2.2.  

       Site       motte 0.5  
       Imprimer  
     Le programme du découpage de la ponctuation en Macro VBA Word
     Le programme du découpage lexical en Macro VBA Word
     La page d’accueil
     Le sommaire des pages
     Rédaction : 01.09.2003      Publication : 01.05.2004     Révision : 05.04.2008
      http://cadrat.saynete.net2003 - 2024