Rapport de message :*
 

Re: recapitulatif

Titre du sujet : Re: recapitulatif
par Mth le 01/11/2009 19:38:38

Bonsoir à tous,

Claude tu trouveras ton tableau ci-joint avec un essai par formule permettant d'avoir la liste des machines utilisées.

En cellule C1512 et suivantes j'ai utilisé ta liste pour placer cette formule, qui indique "Oui" ou "Non" en face des broyeurs:
=SI(NB.SI(Modèle!$A$11:$A$389;A1512)>0;"Oui";"Non")

Ensuite, toujours sur l'onglet Modèle en cellule P400 et recopiée vers le bas, j'utilise cette formule matricielle :
{=SI(NB.SI($C$1512:$C$1529;"Oui")(C$1512:C1512);"";PETITE.VALEUR(SI($C$1512:$C$1529="Oui";$A$1512:$A$1529);LIGNES(C$1512:C1512)))}


Décomposition de la formule:

NB.SI($C$1512:$C$1529;"Oui")
permet de compter le nombre de "Oui"; dans le fichier joint où j'ai saisi quelques données cette partie de la formule renvoie 3

 
LIGNES(C$1512:C1512)
permet de compter le nombre de lignes renseignées par la formule. En ligne 1512 on obtient 1; sur la ligne suivante cette formule renvoie 2, etc.


 La première partie de la formule soit:
=SI(NB.SI($C$1512:$C$1529;"Oui")(C$1512:C1512);"";...)
permet de ne pas renvoyer de valeur une fois que tous les broyeurs utilisés ont été traités.
Si 3 broyeurs ont été utilisés, les 3 premières lignes seront renseignées par la formule, mais la 4ème ligne ainsi que les suivantes ne renverront rien.


 La fonction PETITE.VALEUR() permet de renvoyer la n-ième plus petite valeur d'une matrice, je l'utilise ici pour renvoyer la première, puis la deuxième, etc. , cette n-ième étant calculée avec la fonction LIGNES() (je te laisse consulter l'aide d'Excel sur ces fonctions LIGNES() et PETITE.VALEUR()).

La formule :
PETITE.VALEUR(SI($C$1512:$C$1529="Oui";$A$1512:$A$1529);LIGNES(C$1512:C1512))
permet de récupérer la n-ième plus petite valeur de la plage de cellules A1512:A1529, à condition que les cellules de la plage C1512:C1529 renvoient "Oui"



L'ensemble est une formule matricielle, ce qui veut dire qu'elle doit être validée en appuyant simultanément sur les trois touches CTRL MAJ et ENTER.

Pour analyser cette formule qui est un peu compliquée, n'hésite pas à user et abuser de la touche F9 comme indiqué dans la FAQ ici

Voilà Claude, il y a certainement d'autres solutions mais j'espère que celle-ci pourra te dépanner.

Cordialement,

Mth