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

XL 2016 Trouver colonne d'une valeur minimum

Phillip

XLDnaute Occasionnel
Bonjour,

Je souhaite, par macro ou formule, trouver la valeur minimum dans une ligne, et dans une colonne à droite, mettre le nom du joueur qui a eu ce minimum de points.

Je tourne en rond, et me mélange les index et les equiv...

Quelqu'un peut-il m'aider ?

Fichier exemple joint

Merci

Cordialement
 

Pièces jointes

  • testmin.xlsm
    18.7 KB · Affichages: 8

job75

XLDnaute Barbatruc
Que faut-il indiquer si 2 ou 3 joueurs ont le même score ?
On peut concaténer les noms, formule matricielle en F2 :
Code:
=INDEX($1:$1;PETITE.VALEUR(SI(B2:D2=MIN(B2:D2);COLONNE(B2:D2));1))&SIERREUR(", "&INDEX($1:$1;PETITE.VALEUR(SI(B2:D2=MIN(B2:D2);COLONNE(B2:D2));2));"")&SIERREUR(", "&INDEX($1:$1;PETITE.VALEUR(SI(B2:D2=MIN(B2:D2);COLONNE(B2:D2));3));"")
à valider par Ctrl+Maj+Entrée.
 

Pièces jointes

  • testmin.xlsm
    15 KB · Affichages: 3

job75

XLDnaute Barbatruc
Maintenant avec une fonction VBA c'est assez simple :
VB:
Function Elimine(joueurs As Range, valeurs As Range, sep As String) As String
Dim mini, i, a(), n
mini = Application.Min(valeurs)
For i = 1 To valeurs.Count
    If valeurs(i) = mini Then
        ReDim Preserve a(n) 'base 0
        a(n) = joueurs(i)
        n = n + 1
    End If
Next
If n Then Elimine = Join(a, sep)
End Function
Le code doit être placé impérativement dans un module standard.

Formule en F2 :
Code:
=Elimine(B$1:D$1;B2:D2;", ")
 

Pièces jointes

  • testmin VBA.xlsm
    17 KB · Affichages: 1

Discussions similaires

Réponses
30
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…