XL 2016 Classement 5 favoris

  • Initiateur de la discussion Initiateur de la discussion komet
  • 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 !

komet

XLDnaute Nouveau
Bonjour,
Fan de courses hippiques, je suis en train de me faire un tableau de prono.
En C1,dans la colonne A, les numéros des chevaux, dans la colonne C, leurs musiques et en AX, le coefficient de réussite de chaque chevaux.
Dans la feuille Favori, j'aimerai voir apparaitre les 5 favoris de la course (5 chevaux ayant le plus petit coefficient en AX dans la feuille C1)
Dans l'exemple proposé, le 7 et 12 ont la même valeur, cependant le 12 n'apparait pas.
Il semblerait que la fonction 'petite valeur' que j'ai utilisé ne prend pas en compte les doublons.
Avez-vous une idée pour résoudre mon problème en sachant que j'ai très peu de connaissance sur Excell.
Merci de votre aide
 

Pièces jointes

Bonjour Komet, Job,
Un essai avec :
VB:
=INDEX('C1'!$A$1:$A$15;1000*(PETITE.VALEUR('C1'!$AX$2:$AX$15+LIGNE('C1'!$AX$2:$AX$15)/1000;H$2)-ENT(PETITE.VALEUR('C1'!$AX$2:$AX$15+LIGNE('C1'!$AX$2:$AX$15)/1000;H$2))))
Matriciel, donc valider par Maj+Ctrl+Entrée.
L'astuce est de rajouter au nombre la quantité Ligne()/1000, ce qui évite les doublons.
 

Pièces jointes

Bonjour Komet, Job,
Un essai avec :
VB:
=INDEX('C1'!$A$1:$A$15;1000*(PETITE.VALEUR('C1'!$AX$2:$AX$15+LIGNE('C1'!$AX$2:$AX$15)/1000;H$2)-ENT(PETITE.VALEUR('C1'!$AX$2:$AX$15+LIGNE('C1'!$AX$2:$AX$15)/1000;H$2))))
Matriciel, donc valider par Maj+Ctrl+Entrée.
L'astuce est de rajouter au nombre la quantité Ligne()/1000, ce qui évite les doublons.
Bonjour Sylvanu,
Merci pour ton aide.
Cependant, j'ai des erreurs de références dans certaines cellules et je ne vois pas la solution.
 

Pièces jointes

Bonjour komet, sylvanu;

Avec les fichiers de pronostics il vous faudra du VBA alors voyez le fichier joint et cette fonction VBA :
VB:
Function Classer(a, b)
a = a: b = b 'matrices
tri a, b, 1, UBound(a)
Classer = b 'matrice vecteur vertical
End Function

Sub tri(a, b, gauc, droi) ' Quick sort
Dim ref, g, d, temp
ref = a((gauc + droi) \ 2, 1)
g = gauc: d = droi
Do
    Do While a(g, 1) < ref: g = g + 1: Loop
    Do While ref < a(d, 1): d = d - 1: Loop
    If g <= d Then
      temp = a(g, 1): a(g, 1) = a(d, 1): a(d, 1) = temp
      temp = b(g, 1): b(g, 1) = b(d, 1): b(d, 1) = temp
      g = g + 1: d = d - 1
    End If
Loop While g <= d
If g < droi Then Call tri(a, b, g, droi)
If gauc < d Then Call tri(a, b, gauc, d)
End Sub
Elle utilise la macro de tri bien connue Quick sort.

A+
 

Pièces jointes

Bonjour komet,
Il me reste à gérer les non partants. Si tu as une idée.
On peut utiliser cette fonction VBA, fichier (2) :
VB:
Function Non_partants(P As Range, R As Range, x$)
Dim a(), i&, n&
ReDim a(Application.Caller.Count - 1, 0) 'base 0
For i = 0 To UBound(a): a(i, 0) = "": Next i 'RAZ
For i = 1 To P.Count
    If P(i) = x Then
        a(n, 0) = R(i)
        n = n + 1
    End If
Next i
Non_partants = a 'matrice vecteur vertical
End Function
PS : les codes des fonctions doivent impérativement être dans un module standard.

A+
 

Pièces jointes

Bonjour komet,

On peut utiliser cette fonction VBA, fichier (2) :
VB:
Function Non_partants(P As Range, R As Range, x$)
Dim a(), i&, n&
ReDim a(Application.Caller.Count - 1, 0) 'base 0
For i = 0 To UBound(a): a(i, 0) = "": Next i 'RAZ
For i = 1 To P.Count
    If P(i) = x Then
        a(n, 0) = R(i)
        n = n + 1
    End If
Next i
Non_partants = a 'matrice vecteur vertical
End Function
PS : les codes des fonctions doivent impérativement être dans un module standard.

A+
En fait, j'aimerai que les non partants n'apparaissent pas dans la colonne "Top5"
 
- 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

Discussions similaires

Réponses
12
Affichages
249
Réponses
3
Affichages
143
  • Question Question
Microsoft 365 Recherche V
Réponses
33
Affichages
1 K
Réponses
8
Affichages
593
Réponses
6
Affichages
582
Retour