Recherche du nombre le plus cité

Résolu
mmicbre Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   -  
mmicbre Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   -
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



A voir également:

6 réponses

Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
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.
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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
0
mmicbre Messages postés 32 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
excusez moi d'avoir dérangé en proposant une réponse...
0
Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
Essayez la macro de michel_m, j'en proposerai une autre si elle ne fonctionne pas.
0
mmicbre Messages postés 32 Date d'inscription   Statut Membre Dernière intervention  
 
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Bonjour à tous

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

Cdlmnt
0
mmicbre Messages postés 32 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
0
mmicbre Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   > eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention  
 
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
0