Signaler

Recherche du nombre le plus cité [Résolu]

Posez votre question mmicbre 32Messages postés dimanche 9 février 2014Date d'inscription 22 septembre 2016 Dernière intervention - Dernière réponse le 22 sept. 2016 à 17:55
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
Afficher la suite 
Utile
+0
moins plus
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.
Ajouter un commentaire
Utile
+0
moins plus
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
Ajouter un commentaire
Utile
+0
moins plus
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
michel_m 13946Messages postés lundi 12 septembre 2005Date d'inscription ContributeurStatut 22 septembre 2016 Dernière intervention - 22 sept. 2016 à 12:34
excusez moi d'avoir dérangé en proposant une réponse...
Répondre
Pierre1310 6942Messages postés lundi 21 décembre 2015Date d'inscription 22 septembre 2016 Dernière intervention - 22 sept. 2016 à 13:16
Essayez la macro de michel_m, j'en proposerai une autre si elle ne fonctionne pas.
Répondre
Ajouter un commentaire
Utile
+0
moins plus
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
Ajouter un commentaire
Utile
+0
moins plus
Bonjour à tous

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

Cdlmnt
Ajouter un commentaire
Utile
+0
moins plus
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.
eriiic 19674Messages postés mardi 11 septembre 2007Date d'inscription ContributeurStatut 22 septembre 2016 Dernière intervention - 22 sept. 2016 à 17:26
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
Répondre
mmicbre 32Messages postés dimanche 9 février 2014Date d'inscription 22 septembre 2016 Dernière intervention - 22 sept. 2016 à 17:55
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
Répondre
Ajouter un commentaire

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !