Fonction detection des mots cles et comptage
Fermé
wuhrlinanthony
Messages postés
52
Date d'inscription
mercredi 29 juillet 2015
Statut
Membre
Dernière intervention
5 juillet 2017
-
4 août 2015 à 13:31
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 - 4 août 2015 à 14:51
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 - 4 août 2015 à 14:51
A voir également:
- Fonction detection des mots cles et comptage
- Fonction si et - Guide
- Identifiants et mots de passe - Guide
- Detection materiel pc - Guide
- Cles windows - Guide
- Fonction moyenne excel - Guide
1 réponse
via55
Messages postés
14408
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
5 mai 2024
2 706
4 août 2015 à 14:51
4 août 2015 à 14:51
Bonjour
Exemple de fonction pour compter les 3 mots les plus fréquents
A mettre dans un Module (ALT+F11 pour ouvrir l'éditeur puis Insertion - Module - Copier-colelr la macro dans la page - Fermer l'éditeur
La fonction s'utilise comme n'importe qu'elle fonction Excel, syntaxe =mots(adresse cellule)
Ainsi = mots(A2) comptabilisera les mots de la chaine présente enA2
Cdlmnt
Via
Exemple de fonction pour compter les 3 mots les plus fréquents
A mettre dans un Module (ALT+F11 pour ouvrir l'éditeur puis Insertion - Module - Copier-colelr la macro dans la page - Fermer l'éditeur
La fonction s'utilise comme n'importe qu'elle fonction Excel, syntaxe =mots(adresse cellule)
Ainsi = mots(A2) comptabilisera les mots de la chaine présente enA2
Function mots(machaine As String) Dim Tableau() As String Dim i As Integer 'découpe la chaine en fonction des espaces " " 'le résultat de la fonction Split est stocké dans un tableau Tableau = Split(machaine, " ") max1 = 0 max2 = 0 max3 = 0 'boucle sur le tableau For i = 0 To UBound(Tableau) - 1 n = 1 existe = 0 ' boucle sur les items précédents du tableau For k = 0 To i - 1 ' si le mot existe déjà (comparaison de mots en majuscules) existe passe à 1 If UCase(Tableau(k)) = UCase(Tableau(i)) Then existe = 1 Next k ' si existe=0 (pour en pas compter 2 fosi un mot précédemment comptabilisé) If existe = 0 Then ' boucle sur les items suivants du tableau For j = i + 1 To UBound(Tableau) - 1 ' si identique (comparaison majucules)alors incrémentation de n If UCase(Tableau(j)) = UCase(Tableau(i)) Then n = n + 1 Next j ' si n> max 1, 2 ou 3 on remplace le max par n et on releve la valeur dans tableau If n > max1 Then max1 = n: mot1 = i Else If n > max2 Then max2 = n: mot2 = i Else If n > max3 Then max3 = n: mot3 = i End If Next i ' nombre de fois et mots à retourner mots = max1 & " " & Tableau(mot1) & " - " & max2 & " " & Tableau(mot2) & " - " & max3 & " " & Tableau(mot3) End Function
Cdlmnt
Via