Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1614 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  nuage de mots à partir de texte

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

nuage de mots à partir de texte

n°2219876
cindytrofo​rd
¯\_(ツ)_/¯
Posté le 17-02-2014 à 09:37:29  profilanswer
 

Salut à tous  ;)  
 
Le contexte, c'est que j'ai plusieurs évaluation effectuées par des notants : je dispose donc d'une note, et de deux champs, points positifs et points négatifs écrits chacun dans une cellule. J'aurais voulu faire ce qui suit sous Excel, est-ce possible ?
 
J'aimerais tout d'abord connaître les statistiques de ces champs (points positifs et négatifs) par mot : exemple = "machin" apparaît tant de fois, "truc" apparait tant de fois...
Ensuite je veux en faire un nuage de mots, avec la taille de police qui diffère selon la fréquence. Un qui sera vert pour les points positifs, et rouge pour les négatifs.
 
Merci
Cindy

mood
Publicité
Posté le 17-02-2014 à 09:37:29  profilanswer
 

n°2219995
mmarle
Posté le 18-02-2014 à 11:14:04  profilanswer
 

Bonjour,
 
Pour les statistiques tu peux utiliser la classe de collection  "Dictionary".
 
Code à glisser par exemple dans:  
 

Code :
  1. Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
  2. 'Désactivation du menu contextuel'
  3. Cancel = True
  4. 'Stockage de la plage de cellules'
  5. Targets = Sh.UsedRange.Address
  6. 'Appel de procédure'
  7. Call listing(Target, Targets)
  8. End Sub


Code à gilsser dans un module:
 

Code :
  1. Public Sub listing(Target As Range, ByVal Targets As String)
  2. 'Création du dictionnaire'
  3. Set dict = CreateObject("Scripting.dictionary" )
  4. 'Itération sur la collection range et stockage dans le dictionnaire'
  5. For Each Target In Range(Targets)
  6.     If Not IsEmpty(Target) Then
  7.         If Not dict.Exists(Target.Value) Then
  8.             'Création de la clé et stockage de l'Item'
  9.             dict.Add Target.Value, 1
  10.         Else
  11.             'Incrémentation de l'Item'
  12.             dict.Item(Target.Value) = dict.Item(Target.Value) + 1
  13.         End If
  14.     End If
  15. Next
  16. 'Déclaration des variables'
  17. iKey = dict.keys
  18. iItem = dict.items
  19. 'Itération sur la collection du dictionnaire'
  20. For i = 0 To dict.Count - 1
  21.    result = result & "Key= " & iKey(i) & ", Item= " & iItem(i) & vbLf
  22. Next
  23. 'Affichage du résultat'
  24. MsgBox result
  25. End Sub


Pour la deuxième étape, je n'ai pas compris!


Message édité par mmarle le 19-02-2014 à 10:29:08

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  nuage de mots à partir de texte

 

Sujets relatifs
Wordpress, aligner texte et image dans widget[HELP] modificateur de plusieur fichier texte
[RESOLU] Créer un CSV à partir d'une chaîne en phpComment génerer un fichier csv à partir d'une base de données?
Probéme de codage pour lire la taille de fichier texteespace entre ligne de texte et haut du cadre
Optimisation lecture fichier texteLes dossiers en deux mots dans MS-DOS
Problème Création fichier texte via vbscomment remplir une matrice à partir d'un vecteur
Plus de sujets relatifs à : nuage de mots à partir de texte


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR