Recherche du nombre le plus cité

Résolu/Fermé
Signaler
Messages postés
32
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
22 septembre 2016
-
Messages postés
32
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
22 septembre 2016
-
Bonjour à tous.
Je suis à la recherche d'une formule,d'un code VBA,ou d'une macro,qui me permette l'opération suivante:
Dans un ligne de longueur variable,entre 6 et 50 cellules,je voudrais connaitre le nombre le plus cité dans la ligne,en faisant apparaitre ce nombre dans une colonne supplémentaire.
Merci à celui ou celle qui voudra bien me répondre



6 réponses

Messages postés
8554
Date d'inscription
lundi 21 décembre 2015
Statut
Membre
Dernière intervention
21 juillet 2020
628
Salut,

Une petite macro c'est faisable.
Tu déclares un tableau 2D qui va recenser + compter le nombre de chaque cellule. En même temps que le tableau se remplira, une variable restera sur la case du tableau étant le plus présente dans ta feuille.

Et à la fin ba tu sais qui est le plus présent, tu peux l'afficher par une petite alerte ou autre, au choix.
Messages postés
16538
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
6 décembre 2021
3 252
bonjour
tu n'as pas préciser ce qu'on faisait s'il y avait des exæquos....
ici c(est uniquement le premier trouvé
Option Explicit
Const Lig As Integer = 1 'ligne sondée
Sub sonder()
Dim Dercol As Integer, Col As Integer, Dico As Object
Dim Nbre_max As Integer, Ref As Single, Valeur As Single
Set Dico = CreateObject("scripting.dictionary")
Dercol = Rows(Lig).Find(what:="*", searchdirection:=xlPrevious).Column
Nbre_max = 0
For Col = 1 To Dercol
Ref = Cells(Lig, Col)
If Not Dico.exists(Ref) Then
Dico.Add Ref, 1
Else
Dico.Item(Ref) = Dico.Item(Ref) + 1
If Dico.Item(Ref) > Nbre_max Then
Nbre_max = Dico.Item(Ref)
Valeur = Ref
End If
End If
Next

Cells(Lig, Dercol + 1) = Valeur

End Sub


modifies la valeur de nbre_max si des nombres sont en dessous de zéro
 Michel
Messages postés
32
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
22 septembre 2016

Bonjour Pierre1310
Merci de t'intéresser à mon petit problème.
Je suis un vieux bonhomme (88 étés au compteur ) qui se distrait comme il peut avec son ordinateur.Ceci pour te dire que compte tenu de ma formation informatique très élémentaire,je ne comprends pas du tout ta réponse,et te demande,si tu le veux bien, de me donner la marche à suivre détaillée.
Je t'en remercie à l'avance.
mmicbre
Messages postés
16538
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
6 décembre 2021
3 252
excusez moi d'avoir dérangé en proposant une réponse...
Messages postés
8554
Date d'inscription
lundi 21 décembre 2015
Statut
Membre
Dernière intervention
21 juillet 2020
628
Essayez la macro de michel_m, j'en proposerai une autre si elle ne fonctionne pas.
Messages postés
32
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
22 septembre 2016

Bonjour michel_m
il n'y a aucun motif pour t'excuser,ton intervention est tout à fait normale,et je t'en remercie.
Je ne t'ai pas répondu de suite,je testais la macro.
Sur ta macro,à l'emplacement "ligne sondée",j'ai enlevé le 1,et l'ai remplacé par une ligne d'essai AY4:BI4
J'ai dù faire une boulette,car lorsque j'active la macro, j'ouvre une fenêtre d'erreur qui me dit :"instruction incorrecte à l'extérieur d'une procédure", et,sur ma macro BI4 est surligné en bleu.
Dans mon bouquin excel 2011 j'ai cherché une explication que je n'ai pas trouvée.
Vois tu où est l'erreur ?

Merci Pierre1310je vois que tu suis l'évolution de la situation,et je t'en remercie
Messages postés
10192
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
4 décembre 2021
2 256
Bonjour à tous

As tu essayé la fonction MODE ?
=MODE(plage)

Cdlmnt
Messages postés
32
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
22 septembre 2016

Bonjour ccm81
Non,je ne suis pas capable de tester des formules moi même,car je ne sais pas les concocter.
J'ai une auxiliaire de vie qui peut m'aider,car elle est beaucoup plus compétente que moi,mais elle est en congé,c'est pourquoi je vous sollicite,mais,évidemment,il vous faut me mâcher le travail,et je sais ,par expérience,que ce n'est pas toujours bien perçu.
Mais,je te remercie pour ton intervention.
Messages postés
24222
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
29 novembre 2021
6 982
Bonjour,

1ère fois que je vois ça, pas effrayé par une macro mais hésitant à saisir une formule :-)

tu as juste à saisir dans une cellule =MODE(B2:M2) pour avoir le nombre le plus répété dans B2:M2
eric
Messages postés
32
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
22 septembre 2016
>
Messages postés
24222
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
29 novembre 2021

Bonsoir eriiic
en effet,rien de plus simple et efficace
Tous mes remerciements

Je remercie également Pierre1310,michel_m,et ccm81pour leur participation,et leur gentillesse.
Bonne soirée à tous,
PROBLEME RESOLU