Recherche du nombre le plus cité

Résolu
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

  1. 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
    1. Contributeur
      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
      1. 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
        1. Contributeur
          excusez moi d'avoir dérangé en proposant une réponse...
          0
        2. Essayez la macro de michel_m, j'en proposerai une autre si elle ne fonctionne pas.
          0
      2. 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
        1. Bonjour à tous

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

          Cdlmnt
          0
          1. 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
            1. Contributeur
              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
            2. @eriiicBonsoir 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