c
a
d
r
a
t






  Entrée  
  Ressources   
  Code  
  Triage lexical  














      Fréquence des mots   
Visual Basic for Applications
macro-commandes pour
Excel

Le programme est rédigé à partir de celui des doublons, assez classique, consistant à établir une liste où s'effacent toutes les répétitions de celle initiale.

 .1.   Description
 .2.   Code
 .3.   Lien sur les macros sous Excel
 .A.   Copie d'écran des colonnes


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

 .1.    Description du programme

À 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.1.   Liens sur les macros sous Excel

     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 particulièrement VBA   II.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 - 2012