Formules avec conditions

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 !

Bernard-Louis

XLDnaute Occasionnel
Bonjour a toutes et tous,
Je fais appel a vous pour m’aider a solutionner un problème qui me fait trop travailler les méninges pour 1 dimanche.
Dans 1 classeur, j’ai 2 feuilles : Source et Cible,
Je voudrai extraire au moyen d’une formule les 11 plus grandes valeurs en ordre croissant, de la feuille SOURCE afin de les recopier dans la feuille CIBLE,
La feuille SOURCE n’est pas figée, elle se modifie sans cesse.
Avec mes remerciements pour votre aide,
Cordialement
 

Pièces jointes

Re : Formules avec conditions

Bonjour

en A2 de la feuille Cible, formule à valider par les touches Ctrl+Shift+Entrer
Code:
=SI(C2="";"";INDEX(Source!A:A;PETITE.VALEUR(SI(Source!$C$2:$C$27=C2;LIGNE(Source!$C$2:$C$27));NB.SI(C$1:C2;C2))))
en B2 formule à valider par les touches Ctrl+Shift+Entrer
Code:
=SI(C2="";"";INDEX(Source!B:B;PETITE.VALEUR(SI(Source!$C$2:$C$27=C2;LIGNE(Source!$C$2:$C$27));NB.SI(C$1:C2;C2))))
en D2 formule à valider par la touche Entrer
Code:
 =SI(NB(Source!C:C)>=LIGNES(A$2:A2);GRANDE.VALEUR(Source!C:C;LIGNES(A$2:A2));"")
@+Jean-Marie
 
Re : Formules avec conditions

Je te remercie JeanMarie,
Je me suis mal explique,
le resultat dans la feuille cible devrait etre:
Code pro nom Total
21 U 691
26 Z 380
9 I 259
14 M 150
3 C 110
15 O 100
5 E 65
11 K 58
17 Q 58
6 F 52
23 W 14
Je te remercie encore.
 
Re : Formules avec conditions

Voici un code
Code:
    Range("A2:C27").Select
    Selection.Sort Key1:=Range("C2"), Order1:=xlDescending, Key2:=Range("B2") _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
        :=xlSortNormal
    Range("A2:C12").Select
    Selection.Copy
    Sheets("Cible").Select
    Range("A2").Select
    ActiveSheet.Paste
    Sheets("Source").Select
    Range("A2:C27").Select
    Application.CutCopyMode = False
    Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal

à toi de le modifier à ta guise
@+
bon dimanche
 
Re : Formules avec conditions

Bonjour
en C2
=GRANDE.VALEUR(Source!C:C;LIGNE()-1)
a recopier en dessous

en A2
=SI($C2=$C1;INDEX(Source!A:B;EQUIV($C2;DECALER(Source!$C$1;EQUIV(C2;Source!$C:$C;0);0;65000;1);0)+EQUIV(C2;Source!$C:$C;0);1);INDEX(Source!A:B;EQUIV($C2;Source!$C:$C;0);1))
a recopier en B2
puis recopier A2 et B2 jusqu'à la ligne 12

La formule tient compte des ex eaquo éventuels limité à 2 car si trois valeurs identiques il faudrait, je pense, ajouter une colonne pour pouvoir le gérer.
 
- 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
3
Affichages
655
Réponses
13
Affichages
965
P
Réponses
6
Affichages
2 K
Pat13127
P
B
Réponses
2
Affichages
2 K
bastienb
B
Retour