|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2007 Messages : 25 ![]() |
Bonjour,
Je cherche à rendre les calculs de ma feuille excel plus rapide. Actuellement tout marche très bien mais j'ai une formule par cellules et j'aimerais fonctionner avec des tableaux. J'ai 3 problèmes: Le premier (le plus simple), Je veut comparer un tableau avec un nombre fixe, et je ne sais pas comment créer une matrice de mon nombre fixe dans la formule ou faire qqch de similaire. Pour l'instant ma formule est : et bien sur il ne compare que le premier élément du tableau avec 0.3 =min(A1:E200,0.3) Exemple de ce que j'attends mon tableau 0.1 0.2 0.4 0.3 0.5 0.6 j'applique ma fonction avec min et 0.3, et j'obtiens: 0.1 0.2 0.3 0.3 0.3 0.3 2éme question avec un sumproduct: Pour le moment j'ai 2 ranges de 2000 lignes et 4 colonnes chacun et je sumproduct les 4 colonnes de la première ligne du premier range avec les 4 colonnes de la premiere ligne du 2 éme range et j'étends ma formule. J'aimerais pouvoir faire la même chose en passant par un tableau. Du genre SUMPRODUCT(A1 : D2000, E1:H2000) Exemple: Premier range 1 2 3 4 5 6 7 8 Deuxieme range 2 2 2 2 3 3 3 3 Resultat 20 (2*1+2*2+2*3+2*4) 78 (3*5+3*6+3*7+3*8) Pour la 3eme je la poserai un peu plus tard, en fonction de si je peut faire mes idées 1 et 2 ..... PS: Je rappelle ici que je ne veut que passer par des tableaux: appliquer la même formule pour tout un range de cellules sans avoir a l'etendre .... Merci pour votre aide. |
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() Philippe TulliezDéveloppeur et formateur VBA, Excel et Word. Inscription : janvier 2010 Messages : 1 301 ![]() |
Pour la question 1
Code :
Autrement dit soit tu dois utiliser une référence absolue soit par exemple $A$1 soit une référence mixte $A1 ou A$1. Si tu ne maîtrises pas cette matière, je te conseille la lecture de ce didacticiel extrêmement bien fait. http://fauconnier.developpez.com/exc...es/references/
__________________
Philippe Tulliez http://philippe.tulliez.be Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau) Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
|
||
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() Philippe TulliezDéveloppeur et formateur VBA, Excel et Word. Inscription : janvier 2010 Messages : 1 301 ![]() |
Bonjour,
Pour ta question 1, je suis perplexe quant à ta syntaxe sur la fonction MIN() La formule devrait être écrite comme ceci
__________________
Philippe Tulliez http://philippe.tulliez.be Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau) Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
|
|
|
00
|
|
|
#4 | |
|
Invité de passage
![]() Inscription : juin 2007 Messages : 25 ![]() |
Citation:
Merci Ce n'est pas le Min(A1:E200) qui m'intéresse. Je veut que la fonction que j'écrive me retourne un tableau de min ... Comme mon exemple. En gros pour l'instant j'ai 5*200 (A->E * 1-200) cellules avec une formule du genre min(A1,0.3) .... min (E200,0.3); Je veut juste simplifier tout ca et ne faire qu'une formule en manipulant des tableaux (Avec le Shift+Ctrl+Enter: Je sélectionne toutes les cellules que je veut, je rentre une formule générique, qui calcule le min d'un tableau et de 0.3 (ou n'importe quelle valeur ....) et qui me retourne le tableau pour la plage sélectionnée en tapant Ctrl+Shift+Enter. |
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juin 2007 Messages : 25 ![]() |
En fait la solution suivante pourrait marcher (pour vous donner une idée de ce que je veut faire)
1er tableau 0.2 0.4 0.5 0.1 0.5 0.6 0.3 0.1 2em tableau 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 et la je ferai un min(tableau1, tableau 2) en selectionnant 2 lignes et 4 colonnes puis ctrl+shift+enter. Le truc c'est que je ne veut pas créer le 2éme tableau et qu'il soit créer à la volée dans la formule excel, ou bien avoir une autre solution qui fasse la même chose. Pour ceux qui utilise maltlab, ici par exemple j'aurai utilisé la fonction ones(2, 4) .... Merci |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : juin 2007 Messages : 25 ![]() |
Bon j'ai trouvé pour la question 1:
En fait c'est tout bête il suffisait juste de faire qqch comme ça: (if(A1:E200>0.3,0.3,A1:E200)) Ctrl+Shift+Enter Petite question sinon certains d'entre vous ont t'il déja fait des formules utilisant des tableaux et qui sont récursives: Du genre pour construire la ligne 2, j'ai besoin de la ligne 1. Je pensais faire un truc comme ca : je sélectionne mon tableau de A2:E200 et je rentre une formule du genre =2*A1:E199. Mais ça n'as pas l'air de marcher et Excel et super long. Apparente t'il ça à une référence circulaire ? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com