Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[RESOLU] Repérer les 5 articles qui ont la plus grande récurrence dans une liste

  • Initiateur de la discussion Initiateur de la discussion JacKrauser
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

JacKrauser

Guest
Salut à tous !
J'aurai besoin de votre aide concernant la collecte de plusieurs informations concernant une liste.
J'ai en effet en colonne H une liste d'article composée de 3 types différents :
- commençant par "X",
- commentçant par "Y",
- le reste.
En colonne J je dispose de l'année de commande des articles.

J'aimerai créer un top 5 des articles X de 2010 qui sont les plus récurents dans ma liste,
idem pour les 5 qui commencent par Y de 2010, idem dans les restants de 2010.
Et encore les mêmes trois top 5 que précédemment mais pour 2011.

Si possible j'aimerai éviter les macros, sauf si celà s'avère nécessaire !

Merci d'avance pour le temps que vous voudrez bien accorder pour moi !
 
Dernière modification par un modérateur:
Re : Repérer les 5 articles qui ont la plus grande récurrence dans une liste

J'ai fini par trouver 😛
Mais merci quand même pour l'aide que tu as voulu m'apporter !
 
Re : [RESOLU] Repérer les 5 articles qui ont la plus grande récurrence dans une liste

Re,

Merci à vous également d'avoir partagé votre solution, comme il est de règle dans un forum d'entr'aide.
 
Re : [RESOLU] Repérer les 5 articles qui ont la plus grande récurrence dans une liste

Je vais la rajouter, mais je ne pense pas que ce soit la solution la plus pratique.
 
Re : Repérer les 5 articles qui ont la plus grande récurrence dans une liste

Bonjour le fil 🙂,
J'ai fini par trouver 😛
J'ai des doutes sur une solution par formule 🙄...
Ou alors, c'est du tri manuel, et un peu de bidouille derrière 😀...
Vu que le forum était coupé hier, j'ai un peu travaillé dessus (via VBA, parce qu'en formule, je n'y suis pas arrivé 😱) :
Code:
' MonDico par JB
Function JacKrauser(PlageType As Range, PlageDate As Range, MonType As String, MaDate As String, MaPosition As Byte) As String
Dim MonDico, I As Integer, Désignations, Nombres, J As Byte
If PlageType.Columns.Count > 1 Or PlageDate.Columns.Count > 1 Or PlageType.Count <> PlageDate.Count Then
    JacKrauser = "Erreur!"
    Exit Function
End If
Set MonDico = CreateObject("Scripting.Dictionary")
For I = 1 To PlageType.Count
    If PlageDate(I) = MaDate Then
        Select Case MonType
            Case "X", "Y"
                If Left(PlageType(I), 1) = MonType Then
                    MonDico(PlageType(I).Value) = MonDico(PlageType(I).Value) + 1
                End If
            Case Else
                If Left(PlageType(I), 1) <> "X" And Left(PlageType(I), 1) <> "Y" Then
                    MonDico(PlageType(I).Value) = MonDico(PlageType(I).Value) + 1
                End If
            End Select
    End If
Next I
Désignations = MonDico.Keys
Nombres = MonDico.Items
For J = 1 To MaPosition
    For I = LBound(Désignations) To UBound(Désignations)
        If Nombres(I) = Application.WorksheetFunction.Large(Nombres, 1) Then
            JacKrauser = Désignations(I)
            Nombres(I) = 0
            Exit For
        End If
    Next I
Next J
End Function
Bonne journée 😎
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…