[Excel 2007] [Calcul matriciel]

Résolu
Philippe_N -  
 Philippe_N -
Bonjour,

Voilà plusieurs heures que je parcours le forum, mais je n'arrive pas à trouver de réponse à mon problème.

J'ai à ma disposition un tableau avec une colonne A remplie de références, par exemple : ABC123, ABC 456, etc.

Chaque référence correpond à une usine.

Pour chaque usine, je peux avoir plusieurs numéro de séries de machines en colonne B, par exemple 110526, 114243, etc.

Enfin, pour chaque machine j'ai un coût d'acquisition propre par exemple 10 423 euros.

Mon tableau ressemble donc à :


Référence Numéro de série Coût d'acquisition
ABC123 110526 10423
ABC123 114243 14526
ABC123 163256 13256
ABC456 145326 12895
ABC457 156986 13547
ABC458 135246 14236

Ainsi, j'ai plusieurs milliers de lignes.

Ce que je souhaiterais faire c'est récupérer sous forme de matrice, l'ensemble des numéro de série correspondants à une référence donnée.

D'autre part, je souhaiterais sommer les coûts pour une référence donnée.

Les fonctions recherche(v ou h) et index(equiv) ne renvoit (à ma connaissance) qu'une valeur et non pas une matrice.

Je suppose donc qu'il faut utiliser le calcul matriciel, mais je n'arrive pas à trouver la fonction qui répond à mon besoin, sans passer par une macro.

Pour illustrer ma demande, ici je voudrais qu'en rentrant dans mes formules la cellule A2, soit la valeur "ABC123", j'obtienne les résultats : {110526;114243;163256} dans une cellule et 38205 euros dans une autre cellule.

J'espère avoir été suffisamment clair et avoir respecté les règles de ce forum.

Merci de votre aide.

A voir également:

7 réponses

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
bonjour
le fichier étant trié selon la colonne Référence, une proposition moyennant VBA (code à adapter)
https://www.cjoint.com/?0HyqQFFlKm4
sur plusieurs milliers de lignes, ça risque de prendre du temps à l'exécution

bonne suite
0
Raymond PENTIER Messages postés 58988 Date d'inscription   Statut Contributeur Dernière intervention   17 353
 
Bonjour Philippe.

Je n'ai pas l'exacte réponse à ta question, mais une proposition qui s'en rapproche : Utiliser l'assistant SOUS-TOTAL de l'onglet DONNÉES.

https://www.cjoint.com/?AHyrpRgitMt

Cordialement.
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonjour,

Je suppose donc qu'il faut utiliser le calcul matriciel, mais je n'arrive pas à trouver la fonction qui répond à mon besoin, sans passer par une macro.
La matrice tu peux l'avoir, le pb c'est qu'excel ne t'affichera que le 1er élément :
Par exemple sur le fichier de ccm81 :
=DECALER(B1;EQUIV(E3;A:A;0)-1;;NB.SI(A:A;E3);1)
mais le seul moyen de la visualiser est de sélectionner la formule dans la barre d'édition et de faire F9 (même s'il y une valeur d'erreur dans la cellule).
Et la concaténation ne marche pas en matriciel non plus.
Pas très confortable...

Donc soit vba (voir proposition de ccm81. Et si une seule ref t'interesse à la fois, il peut modifier la réponse sera presque instantanée),
ou alors accepter d'avoir 1 cellule par n°

eric
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

Regarde cet exemple :
https://www.cjoint.com/?AHywLSbhM7m
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Philippe_N
 
Bonjour,

Tout d'abord, un grand merci, car via vos contributions j'ai pu apprendre de nouveaux types de raisonnement sous excel.

Suite à la réponse d'Eriiic :
Et si une seule ref t'interesse à la fois, il peut modifier la réponse sera presque instantanée

Effectivement, l'idéal pour moi serait d'appeler une ou plusieurs références parmi des milliers.

Par exemple, j'ai une liste de 50 références pour lesquelles, je souhaiterais facilement sortir sous forme de matrice les numéros d'équipements, et la somme des coûts correpondants sur chaque ligne.

Ici, cela donnerait, en colonne A d'une feuille, j'inscris ABC123, ABC456, ABC457 les uns en dessous des autres, et ma formule (ou application VBA) indique en colonne B la matrice des numéros de série correspondants et en colonne C la somme des coûts.

Encore merci. Je vais essayer d'utiliser la fonction decalage et les listes pour voir ce que cela donne.
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonjour,

Sur une saisie en E ou un collage d'une liste les colonne F et G se mettent à jour.
Il faut accepter les macros.
http://www.cijoint.fr/cjlink.php?file=cj201108/cijn3b8HGu.xls
Ca devrait être assez rapide même sur les grands fichiers.
Teste et dis...

eric
0
Philippe_N
 
Merci beaucoup, c'est exactement ce qu'il me fallait.

Le code me fait en plus une initiation à la macro excel.
0