Trouver le montant le plus répété en fonction d'une variable

Bonjour

Je cherche soit une fonction soit un code vba qui me permettra de trouver le montant le plus répété dans une colonne en fonction d'une autre colonne.

J'ai mis à dispo un fichier pour comprendre la situation.

J'ai déjà trouver une fonction mais qui n'est pas globale. à chaque fois je change la plage de recherche. Je veux une fonction (ou un code vba) qui s'applique pour mon tableau.

Merci d'avance

6repet.xlsx (11.31 Ko)

Bonjour,

tout simplement par un TCD

12repet.xlsx (15.07 Ko)

Bonjour à tous

… ou par une macro !

Bye !

4repet-v1.xlsm (24.88 Ko)

Merci gmb

Mais moi je veux garder la même structure du tableau : Afficher le montant le plus répété pour chaque type..

as-tu regardé la solution que je te propose ?

Steelson,

Je viens de la voir. Merci

ça marche mais je préfère une fonction ou un code VBA...

Nouvel essai.

Bye !

2repet-v2.xlsm (25.65 Ko)

Steelson,

Je viens de la voir. Merci

ça marche mais je préfère une fonction ou un code VBA...

Dans ce cas ... la macro peut se contenter de mettre à jour le TCD !

Je te laisse avec gmb

Bonjour,

Une proposition à étudier.

Cdlt.

Joli ! mais je n'ai pas compris comment tu faisais pour n'afficher que le plus fréquent !

Re,

Bonjour Steelson,

Mode :
{=MODE.SIMPLE(SI(T_Données[Type]=[@Type];T_Données[Montant]))}
Nombre :
=NB.SI.ENS(T_Données[Type];[@Type];T_Données[Montant];[@Mode])

Cdlt.

ok merci Jean-Eric,

mais à quel moment dans la macro les formules sont-elles injectées ?

comme je ne les vois pas non plus avant la mise en place des clés du dico !

d’ailleurs c'est cela qui m'intrigue car si je tape directement dans le tableau A, j'ai les données !

Re,

L'intérêt des tableaux et des formules !...

Les formules sont dans le tableau.

Lors de la procédure, avant restitution des éléments du dictionnaire, on redimensionne le tableau (on supprime toutes les lignes), mais on conserve la mise en forme et les formules (DatabodyRange.Delete).

Ce n'est pas parce que l'on ne voit pas les formules dans le tableau vide, qu'elles n'existent pas !...

 With lo
    If Not .DataBodyRange Is Nothing Then .DataBodyRange.Delete
    .InsertRowRange.Cells(1).Resize(Dict.Count, 1) = Application.Transpose(Dict.keys)
 End With

on redimensionne le tableau (on supprime toutes les lignes), mais on conserve la mise en forme et les formules (DatabodyRange.Delete).

merci, c'est nouveau pour moi et très intéressant !

Rechercher des sujets similaires à "trouver montant repete fonction variable"