OVH Cloud OVH Cloud

Fonction miracle???

9 réponses
Avatar
F
A B C

1 ta 1
2 te 1
3 tu 2
4 ti 2
5 to 1
6 re 2
7 ra 2
8 ri 1
9 tui 5
10 tuo 4
11 poi 2
12 pur 2

Bonsoir à tous,
je cherche à faire la somme des places de la col A, sur les 3 meilleurs
classés de l'équipe "2" par exemple (d'autres fois ce sera sur les
4...etc). Bien sur cela se fait pour chaque équipe d'au moins 3 ou 4
classés).
Donc je suis à la recherche de la fonction miracle, plutôt non matricielle,
Quelqu'un peut -il m'aider?
En vous remerciant.

9 réponses

Avatar
Daniel
Bonsoir.
Désolé, elle est matricielle :
=SOMME(PETITE.VALEUR(SI(C1:C12=2;A1:A12*(C1:C12=2);"");A1:A3))
Cordialement.
Daniel
"" a écrit dans le message de news:

A B C

1 ta 1
2 te 1
3 tu 2
4 ti 2
5 to 1
6 re 2
7 ra 2
8 ri 1
9 tui 5
10 tuo 4
11 poi 2
12 pur 2

Bonsoir à tous,
je cherche à faire la somme des places de la col A, sur les 3 meilleurs
classés de l'équipe "2" par exemple (d'autres fois ce sera sur les
4...etc). Bien sur cela se fait pour chaque équipe d'au moins 3 ou 4
classés).
Donc je suis à la recherche de la fonction miracle, plutôt non
matricielle,
Quelqu'un peut -il m'aider?
En vous remerciant.



Avatar
ChrisV
Bonjour Fabrice,

Pas très clair... il faudrait que tu donnes d'avantages de détails, ainsi
que les résultats souhaités.
D'après ce que j'ai compris, et avec les plages nommées suivantes
A1:Axx (plC)
C1:Cxx (eqP)

A saisir sans les { } et valider par Ctrl+Shift+entrée)

{=SOMME(PETITE.VALEUR(SI(eqP=2;plC);{1;2;3}))}


ChrisV



"" a écrit dans le message de news:

A B C

1 ta 1
2 te 1
3 tu 2
4 ti 2
5 to 1
6 re 2
7 ra 2
8 ri 1
9 tui 5
10 tuo 4
11 poi 2
12 pur 2

Bonsoir à tous,
je cherche à faire la somme des places de la col A, sur les 3 meilleurs
classés de l'équipe "2" par exemple (d'autres fois ce sera sur les
4...etc). Bien sur cela se fait pour chaque équipe d'au moins 3 ou 4
classés).
Donc je suis à la recherche de la fonction miracle, plutôt non
matricielle,
Quelqu'un peut -il m'aider?
En vous remerciant.



Avatar
F
Merci pour votre aide à tous les deux.

ChrisV a écrit:
Bonjour Fabrice,

Pas très clair... il faudrait que tu donnes d'avantages de détails, ainsi
que les résultats souhaités.
D'après ce que j'ai compris, et avec les plages nommées suivantes
A1:Axx (plC)
C1:Cxx (eqP)

A saisir sans les { } et valider par Ctrl+Shift+entrée)

{=SOMME(PETITE.VALEUR(SI(eqP=2;plC);{1;2;3}))}


ChrisV



"" a écrit dans le message de news:


A B C

1 ta 1
2 te 1
3 tu 2
4 ti 2
5 to 1
6 re 2
7 ra 2
8 ri 1
9 tui 5
10 tuo 4
11 poi 2
12 pur 2

Bonsoir à tous,
je cherche à faire la somme des places de la col A, sur les 3 meilleurs
classés de l'équipe "2" par exemple (d'autres fois ce sera sur les
4...etc). Bien sur cela se fait pour chaque équipe d'au moins 3 ou 4
classés).
Donc je suis à la recherche de la fonction miracle, plutôt non
matricielle,
Quelqu'un peut -il m'aider?
En vous remerciant.








Avatar
F
merci. Je vais certainement l'essayer en VBA en fonction d'une cellule
de référence qui variera suivant le nombre d'équipiers à prendre en compte.
Auriez vous déjà un début de solution....Encore merci.

Daniel a écrit:
Bonsoir.
Désolé, elle est matricielle :
=SOMME(PETITE.VALEUR(SI(C1:C12=2;A1:A12*(C1:C12=2);"");A1:A3))
Cordialement.
Daniel
"" a écrit dans le message de news:


A B C

1 ta 1
2 te 1
3 tu 2
4 ti 2
5 to 1
6 re 2
7 ra 2
8 ri 1
9 tui 5
10 tuo 4
11 poi 2
12 pur 2

Bonsoir à tous,
je cherche à faire la somme des places de la col A, sur les 3 meilleurs
classés de l'équipe "2" par exemple (d'autres fois ce sera sur les
4...etc). Bien sur cela se fait pour chaque équipe d'au moins 3 ou 4
classés).
Donc je suis à la recherche de la fonction miracle, plutôt non
matricielle,
Quelqu'un peut -il m'aider?
En vous remerciant.








Avatar
SL
Bonjour

en se basant sur la formule de ChrisV (avec toutes les lettres ;-) )
sans VBA voici un tableau des classements suivant le nb de coéquipier pris
en compte (5 équipes de 5)
Gère les ex-æquos.
http://cjoint.com/?kCoMZUuhK5

Stéphane


"" a écrit dans le message de news:

merci. Je vais certainement l'essayer en VBA en fonction d'une cellule de
référence qui variera suivant le nombre d'équipiers à prendre en compte.
Auriez vous déjà un début de solution....Encore merci.

Daniel a écrit:
Bonsoir.
Désolé, elle est matricielle :
=SOMME(PETITE.VALEUR(SI(C1:C12=2;A1:A12*(C1:C12=2);"");A1:A3))
Cordialement.
Daniel
"" a écrit dans le message de news:


A B C

1 ta 1
2 te 1
3 tu 2
4 ti 2
5 to 1
6 re 2
7 ra 2
8 ri 1
9 tui 5
10 tuo 4
11 poi 2
12 pur 2

Bonsoir à tous,
je cherche à faire la somme des places de la col A, sur les 3 meilleurs
classés de l'équipe "2" par exemple (d'autres fois ce sera sur les
4...etc). Bien sur cela se fait pour chaque équipe d'au moins 3 ou 4
classés).
Donc je suis à la recherche de la fonction miracle, plutôt non
matricielle,
Quelqu'un peut -il m'aider?
En vous remerciant.











Avatar
ChrisV
Re,

merci. Je vais certainement l'essayer en VBA en fonction d'une cellule de
référence


Pourquoi ne pas l'inclure directement dans la formule plutôt que de vouloir
absolument passer par VBA...?


ChrisV


"" a écrit dans le message de news:

merci. Je vais certainement l'essayer en VBA en fonction d'une cellule de
référence qui variera suivant le nombre d'équipiers à prendre en compte.
Auriez vous déjà un début de solution....Encore merci.

Daniel a écrit:
Bonsoir.
Désolé, elle est matricielle :
=SOMME(PETITE.VALEUR(SI(C1:C12=2;A1:A12*(C1:C12=2);"");A1:A3))
Cordialement.
Daniel
"" a écrit dans le message de news:


A B C

1 ta 1
2 te 1
3 tu 2
4 ti 2
5 to 1
6 re 2
7 ra 2
8 ri 1
9 tui 5
10 tuo 4
11 poi 2
12 pur 2

Bonsoir à tous,
je cherche à faire la somme des places de la col A, sur les 3 meilleurs
classés de l'équipe "2" par exemple (d'autres fois ce sera sur les
4...etc). Bien sur cela se fait pour chaque équipe d'au moins 3 ou 4
classés).
Donc je suis à la recherche de la fonction miracle, plutôt non
matricielle,
Quelqu'un peut -il m'aider?
En vous remerciant.











Avatar
Daniel
Bonjour.
Essaie la macro suivante. Le classement doit être en ordre croissant.

Sub test()
Dim Plage As Range, c As Range, Rep As String, i As Integer
Dim Tabl()
Set Plage = Range("A1", Range("A65536").End(xlUp))
ReDim Tabl(Plage.Rows.Count)
Rep = InputBox("Entrez le numéro de l'équipe")
i = 1
For Each c In Plage
If c.Offset(0, 2).Value = Rep Then
Tabl(i) = c.Value
i = i + 1
End If
Next c
MsgBox Tabl(1) + Tabl(2) + Tabl(3)
End Sub

Daniel
"" a écrit dans le message de news:

merci. Je vais certainement l'essayer en VBA en fonction d'une cellule de
référence qui variera suivant le nombre d'équipiers à prendre en compte.
Auriez vous déjà un début de solution....Encore merci.

Daniel a écrit:
Bonsoir.
Désolé, elle est matricielle :
=SOMME(PETITE.VALEUR(SI(C1:C12=2;A1:A12*(C1:C12=2);"");A1:A3))
Cordialement.
Daniel
"" a écrit dans le message de news:


A B C

1 ta 1
2 te 1
3 tu 2
4 ti 2
5 to 1
6 re 2
7 ra 2
8 ri 1
9 tui 5
10 tuo 4
11 poi 2
12 pur 2

Bonsoir à tous,
je cherche à faire la somme des places de la col A, sur les 3 meilleurs
classés de l'équipe "2" par exemple (d'autres fois ce sera sur les
4...etc). Bien sur cela se fait pour chaque équipe d'au moins 3 ou 4
classés).
Donc je suis à la recherche de la fonction miracle, plutôt non
matricielle,
Quelqu'un peut -il m'aider?
En vous remerciant.











Avatar
F
C'est super intéressant, et je comprends mieux "sommeprod" ;o)
Merci stéphane ton exemple est très abouti.
Fabrice

SL a écrit:
Bonjour

en se basant sur la formule de ChrisV (avec toutes les lettres ;-) )
sans VBA voici un tableau des classements suivant le nb de coéquipier pris
en compte (5 équipes de 5)
Gère les ex-æquos.
http://cjoint.com/?kCoMZUuhK5

Stéphane


"" a écrit dans le message de news:


merci. Je vais certainement l'essayer en VBA en fonction d'une cellule de
référence qui variera suivant le nombre d'équipiers à prendre en compte.
Auriez vous déjà un début de solution....Encore merci.

Daniel a écrit:

Bonsoir.
Désolé, elle est matricielle :
=SOMME(PETITE.VALEUR(SI(C1:C12=2;A1:A12*(C1:C12=2);"");A1:A3))
Cordialement.
Daniel
"" a écrit dans le message de news:



A B C

1 ta 1
2 te 1
3 tu 2
4 ti 2
5 to 1
6 re 2
7 ra 2
8 ri 1
9 tui 5
10 tuo 4
11 poi 2
12 pur 2

Bonsoir à tous,
je cherche à faire la somme des places de la col A, sur les 3 meilleurs
classés de l'équipe "2" par exemple (d'autres fois ce sera sur les
4...etc). Bien sur cela se fait pour chaque équipe d'au moins 3 ou 4
classés).
Donc je suis à la recherche de la fonction miracle, plutôt non
matricielle,
Quelqu'un peut -il m'aider?
En vous remerciant.














Avatar
F
Merci à tous, si avec je trouve pas mon bonheur :o)
Ce forum est génial et trés rapide.

Daniel a écrit:
Bonjour.
Essaie la macro suivante. Le classement doit être en ordre croissant.

Sub test()
Dim Plage As Range, c As Range, Rep As String, i As Integer
Dim Tabl()
Set Plage = Range("A1", Range("A65536").End(xlUp))
ReDim Tabl(Plage.Rows.Count)
Rep = InputBox("Entrez le numéro de l'équipe")
i = 1
For Each c In Plage
If c.Offset(0, 2).Value = Rep Then
Tabl(i) = c.Value
i = i + 1
End If
Next c
MsgBox Tabl(1) + Tabl(2) + Tabl(3)
End Sub

Daniel
"" a écrit dans le message de news:


merci. Je vais certainement l'essayer en VBA en fonction d'une cellule de
référence qui variera suivant le nombre d'équipiers à prendre en compte.
Auriez vous déjà un début de solution....Encore merci.

Daniel a écrit:

Bonsoir.
Désolé, elle est matricielle :
=SOMME(PETITE.VALEUR(SI(C1:C12=2;A1:A12*(C1:C12=2);"");A1:A3))
Cordialement.
Daniel
"" a écrit dans le message de news:



A B C

1 ta 1
2 te 1
3 tu 2
4 ti 2
5 to 1
6 re 2
7 ra 2
8 ri 1
9 tui 5
10 tuo 4
11 poi 2
12 pur 2

Bonsoir à tous,
je cherche à faire la somme des places de la col A, sur les 3 meilleurs
classés de l'équipe "2" par exemple (d'autres fois ce sera sur les
4...etc). Bien sur cela se fait pour chaque équipe d'au moins 3 ou 4
classés).
Donc je suis à la recherche de la fonction miracle, plutôt non
matricielle,
Quelqu'un peut -il m'aider?
En vous remerciant.