Afficher un top n des valeurs les plus ou moins fréquentes

Zedairone

XLDnaute Nouveau
Bien le bonjour,

Je recherche un moyen simple d'afficher un top 5, 10, etc. des valeurs les plus, ou moins fréquentes issues d'une plage de cellules. Je m'explique : De A1 à E500 (exemple), j'ai 2500 valeurs allant de x à y. Dans 5 cellules (G1:K1) je souhaite qu'apparaissent dans l'ordre les 5 valeurs les plus ou moins fréquentes. (La plus fréquente dans G1, la seconde plus fréquente dans H1, etc. et inversement) Je n'ai pas besoin du nombre d’occurrences. (avec NB.SI)

Voilà voilà, merci par avance pour votre aide.
Cordialement,
Léo.
 

CISCO

XLDnaute Barbatruc
Bonsoir

Cela fonctionne en remplaçant "|" par " " dans la formule aussi, mais tu pouvais aussi faire comme suit :
* Sélectionner toute la colonne en cliquant tout en haut
* Cliquer sur Accueil
* Cliquer sur Rechercher et Sélectionner, complètement à droite
* Cliquer sur Remplacer...
* Et remplacer tous les "" par "|"
Tu devineras tout seul la suite...

@ plus

P.S : Regarde ce fil, sur le même sujet, dans lequel vient d'intervenir J. Boisgontier...
 
Dernière édition:

Freddang

XLDnaute Nouveau
Bonjour et merci pour votre fonction : FreqRang(Plage, nOrdre). Serait-il possible de l'utiliser pour plusieurs plages de cellules différentes et sans prendre en compte les cases vides mais contenant des cellules ?
Re : Afficher un top n des valeurs les plus ou moins fréquentes

Bonsoir Zedairone et bienvenue sur XLD :) ,
Bonsoir R@chid :),

Comme c'est votre première intervention, j'ai construit un fichier en attendant le votre :).

L'essai est basé sur une fonction personnalisée (en VBA) qui s'écrit:=FreqRang(Plage, nOrdre) où:

  • Plage est la plage des valeurs
  • nOrdre est le rang de l'élément désiré

ex n°1: =FreqRang($A$1:$E$500;4) : parmi les valeurs apparaissant le plus au sein de la plage $A$1:$E$500, on veut la quatrième valeur.

ex n°2: =FreqRang($A$1:$E$500;-2) : parmi les valeurs apparaissant le moins au sein de la plage $A$1:$E$500, on veut la deuxième valeur. Notez le signe moins pour indiquer qu'on veut travailler avec les valeurs apparaissant le moins.

Pour indiquer le rang dans le fichier, on a utilisé le terme COLONNES($H4:H4) qui renvoie le nombre de colonne de la zone $H4:H4 (donc ici on renvoie 1). Lorsque cette expression est recopiée vers la droite, elle va renvoyer 2, puis 3, puis 4, etc.

Bien sûr, si on ne veut que les 5 première ou dernières valeurs, on efface les cellules contenant la formule après 5 cellules résultats.


Une particularité qui a son importance:
Le code de la fonction personnalisée utilise des objets de type Dictionary. Il faut activer la référence à la bibliothèque qui met à disposition ce type d'objet. Pour activer cette référence, suivez les instruction ci-dessous:



Rem 1: l’onglet "Nombre" contient un exemple avec une plage ne comportant que des nombres.
Rem 2: l’onglet "Texte & nombre" contient un exemple avec une plage mélangeant textes et nombres.
Rem 3: Juste pour la vérif., j'ai rajouté les fréquences d'apparition dans le tableau en gris (NB.SI(...). Ce tableau peut être effacé bien sûr!

Attention! La fonction n'est pas du tout optimisée. Elle convient pour des "petites" quantités de données sources.


Bonjour et merci pour votre fonction, serait-il possible de l'utiliser avec plusieurs plage de cellules différentes sans prendre en compte les cellules vides contenant des formules
 

Discussions similaires

Statistiques des forums

Discussions
314 499
Messages
2 110 247
Membres
110 711
dernier inscrit
chmessi