|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Analyste financier Inscription : septembre 2011 Messages : 12 ![]() |
Bonjour,
pouvez vous m aider a comprendre la logique de cette formule. Je ne comprends pas les parties a l interieur: - petite valeur -ligne -min(ligne) Code :
=INDEX($K$6:$K$11;PETITE.VALEUR(SI(($F$6:$F$11=$D$9)*1=1;LIGNE($K$6:$K$11)-MIN(LIGNE($K$6:$K$11))+1);LIGNES($K$6:K6))) |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Denis MorenaTechnicien qualité et métrologie industrielle Inscription : avril 2011 Messages : 115 ![]() |
Slt,
elle fonctionne correctement ta formule au moins ? Renvoie la n-ième plus petite valeur d'une matrice. LIGNE, renvoie le numéro de la ligne d'une référence. d'où "LIGNE($K$6:$K$11) = 6" et "MIN(LIGNE($K$6:$K$11)) = 6" "MIN(matrice)" c'est le minimum... donc peut-être que je me trompe mais pour moi "MIN(LIGNE(...))" est inutile. Me paraît déjà plus utile... tu récupère le numéro de ligne de la plus petite valeur. Sans contexte c'est difficile de t'en dire plus mais j'espère cela pourra t'aider ou faire avancer la conversation Cordialement |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : novembre 2011 Messages : 37 ![]() |
Bonjour,
Il me semble que cette discussion fait suite à celle-ci. La formule donnée par jfontaine et reprise par Tarek78 fonctionne correctement. En ce qui me concerne j'aurais donné la formule matricielle: Code :
=INDEX($K$6:$K$11;PETITE.VALEUR(SI($F$6:$F$11=$D$9;LIGNE(INDIRECT("1:"&LIGNES($F$6:$F$11))));LIGNES($1:1))) Cordialement. |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Analyste financier Inscription : septembre 2011 Messages : 12 ![]() |
Merci vous etes vraiment des Pros d'Excel c'est hallucinant!!!!
Mon Excel est anglais (je vis a Londres). Jfontaine m'a donne cette formule transcrite en anglais mais qui, quand je la rentre, me donne ce message "#Value". Je vous joint le fichier. La formule est a rentre en C24 Voici la formule en anglais: Code :
=INDEX($K$6:$K$11,SMALL(IF(($F$6:$F$11=$D$9)*1=1,ROW($K$6:$K$11)-MIN(ROW($K$6:$K$11))+1),ROWS($K$6:K6))) ![]()
|
|
|
00
|
|
|
#5 | ||
|
Membre confirmé
![]() Denis MorenaTechnicien qualité et métrologie industrielle Inscription : avril 2011 Messages : 115 ![]() |
J'ai une proposition... après c'est plus simple pour moi de faire ça en VBA.
Voir fichier ci joint. Code :
Cordialement |
||
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Analyste financier Inscription : septembre 2011 Messages : 12 ![]() |
Merci pour ta reponse mais moi je voudrais qu'une ligne corresponde a un artiste.
Sur le fichier : Ligne 24 : PaR Exemple on aura David Guetta Ligne 25 : On aura Benny Bennassi etc... Je ne sais pas si c'est faisable |
|
|
00
|
|
|
#7 | |
|
Membre du Club
![]() Inscription : novembre 2011 Messages : 37 ![]() |
Citation:
C'est possible avec la formule que je t'ai donnée précédemment. Code :
=INDEX($K$6:$K$11;PETITE.VALEUR(SI($F$6:$F$11=$D$9;LIGNE(INDIRECT("1:"&LIGNES($F$6:$F$11))));LIGNES($1:1))) Code :
=SI(ESTERREUR(INDEX($K$6:$K$11;PETITE.VALEUR(SI($F$6:$F$11=$D$9;LIGNE(INDIRECT("1:"&LIGNES($F$6:$F$11))));LIGNES($1:1))));"";INDEX($K$6:$K$11;PETITE.VALEUR(SI($F$6:$F$11=$D$9;LIGNE(INDIRECT("1:"&LIGNES($F$6:$F$11))));LIGNES($1:1)))) Ensuite tu la déroules sur autant de rangées que nécessaire. Pour l'anglais, sous toute réserve: Code :
=IF(ERROR(INDEX($K$6:$K$11;SMALL(IF($F$6:$F$11=$D$9;ROW(INDIRECT("1:"&ROWS($F$6:$F$11))));ROWS($1:1))));"";INDEX($K$6:$K$11;SMALL(IF($F$6:$F$11=$D$9;ROW(INDIRECT("1:"&ROWS($F$6:$F$11))));ROWS($1:1)))) |
|
|
|
00
|
|
|
#8 | |||
|
Membre confirmé
![]() Denis MorenaTechnicien qualité et métrologie industrielle Inscription : avril 2011 Messages : 115 ![]() |
Slt,
biensur c'est possible, mais si il y a plus de trois artiste ? Citation:
Code :
Code :
If k > 3 Then Exit Sub 'à adapter, ici nombre d'artiste est limité à 3 Cordialement |
|||
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Analyste financier Inscription : septembre 2011 Messages : 12 ![]() |
Merci pour ta réponse White. C'est sympa.
J'ai ouvert le fichier et des que je change quelque numéro de facture en haut et dans la base de donnée, cela ne modifie rien. Désolé, mais je m’aperçois que je suis vraimennnnt nul compare a vous lol |
|
|
00
|
|
|
#10 |
|
Membre confirmé
![]() Denis MorenaTechnicien qualité et métrologie industrielle Inscription : avril 2011 Messages : 115 ![]() |
C'est normal l'actualisation se fait lorsque tu change d'onglet où que tu ouvre le classeur... Fin j'avais mis ça comme ça
![]() Le fichier ci-joint lui se met à jours dès que tu modifie une colonne de D à K, du coup lorsque tu change ton numéro de facture par exemple ça actualisera ta recherche automatiquement ![]() Cordialement |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Analyste financier Inscription : septembre 2011 Messages : 12 ![]() |
Merciiiiiii White!!!! C 'est EXACTEMENT ca que je voulais.
Sachant que je peux avoir parfois jusqu'a 7 artistes comment je peux modifier car tu as limite a trois artistes et je ne sais pas comment s appelle ta macro pour pouvoir la modifier. Tu es un génie !!!! |
|
|
00
|
|
|
#12 | |
|
Membre confirmé
![]() Denis MorenaTechnicien qualité et métrologie industrielle Inscription : avril 2011 Messages : 115 ![]() |
Citation:
![]() Sinon pour voir la macro ALT+F11, dans Microsoft Objets Excel tu la trouve dans : - Tracko (pour actualiser les données lors de tes modifs) - ThisWorkbook (pour actualiser lors de l'ouverture, elle avait une utilité avant mais maintenant que les données se mettent à jours régulièrement tu peux la supprimer) Si t'as d'autres questions n'hésite pas Cordialement |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com