[Excel 2007] [Calcul matriciel]

Résolu/Fermé
Philippe_N - 24 août 2011 à 13:34
 Philippe_N - 26 août 2011 à 10:05
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 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
24 août 2011 à 16:43
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 58393 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 avril 2024 17 095
24 août 2011 à 17:16
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 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 213
24 août 2011 à 20:07
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 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
24 août 2011 à 22:39
Bonjour,

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

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

Posez votre question
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 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 213
25 août 2011 à 16:34
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
Merci beaucoup, c'est exactement ce qu'il me fallait.

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