calcul conditionnelle

  • Initiateur de la discussion Initiateur de la discussion cg1980
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

cg1980

XLDnaute Occasionnel
bonjour,
j'ai une requete sur un fichier que j'ai déjà utilisé.

mais pas contre là j'aimerais effectué un calcul.

Dans data, il faut prendre les lignes ou colF>0 et faire le calcul suivant:

(G-I)*J + (G-M)*N+(G-Q)*R + (G-U)*V. Il s'agit des perte potentiels par unité.

Ensuite, chacune de ces sommes est reporté dans l'onglet output à partir de C9 pour les codes correspondants. (la ligne 3 contient les memes codes que data col D mais en plus reduites)

Je ne suis pas sûr si le file conducteur est le meilleur pour procèder à cette étape..
merci de vos propositions
 

Pièces jointes

Re : calcul conditionnelle

bonjour. oui c'est bien ca:

je reformule peut etre plus simplement
Onglet « Data » :
1.Scanner la colonne F et traiter les lignes pour lesquels la colonne F est >0
2.Faire le caclul suivant :
(G-I)*J + (G-M)*N+(G-Q)*R + (G-U)*V. Il s'agit des perte potentiels par unité.
3.Copier-Coller la valeur dans l’onglet « output » en ligne 9 selon les code correpondants
Le match de code se fait entre la ligne 3 de « output » et colD de « data ».

J’espère que c’est plus clair comme ca.
merci
 
Re : calcul conditionnelle

Re,

C'est votre C9 qui est incohérent, alors je mets cette jolie formule en B9 :

Code:
=SIERREUR((INDEX(data!$G:$G;EQUIV(B3;data!$D:$D;0))-INDEX(data!$I:$I;EQUIV(B3;data!$D:$D;0)))*INDEX(data!$J:$J;EQUIV(B3;data!$D:$D;0))+(INDEX(data!$G:$G;EQUIV(B3;data!$D:$D;0))-INDEX(data!$M:$M;EQUIV(B3;data!$D:$D;0)))*INDEX(data!$N:$N;EQUIV(B3;data!$D:$D;0))+(INDEX(data!$G:$G;EQUIV(B3;data!$D:$D;0))-INDEX(data!$Q:$Q;EQUIV(B3;data!$D:$D;0)))*INDEX(data!$R:$R;EQUIV(B3;data!$D:$D;0))+(INDEX(data!$G:$G;EQUIV(B3;data!$D:$D;0))-INDEX(data!$U:$U;EQUIV(B3;data!$D:$D;0)))*INDEX(data!$V:$V;EQUIV(B3;data!$D:$D;0));"")
Nota : pour les formules matricielles en B3 et B8 voyez votre autre fil :

https://www.excel-downloads.com/threads/vba-copier-valeur-sous-condition.220557/

A+
 

Pièces jointes

Re : calcul conditionnelle

Re,

On peut simplifier la formule en définissant les noms T et lig :

Code:
=SIERREUR((INDEX(T;lig;7)-INDEX(T;lig;9))*INDEX(T;lig;10)+(INDEX(T;lig;7)-INDEX(T;lig;13))*INDEX(T;lig;14)+(INDEX(T;lig;7)-INDEX(T;lig;17))*INDEX(T;lig;18)+(INDEX(T;lig;7)-INDEX(T;lig;21))*INDEX(T;lig;22);"")
Fichier (2 bis).

A+
 

Pièces jointes

Re : calcul conditionnelle

ce serait sympa en vba.

Mais c'est exactement comme tu as disposé le fichier. tu commences en C9 où tu as "73161.29032" comme output. B9 est le cash donc pas essentiel. mais tu commences à emplier les données`en C9 - D9... ainsi les données sont en ligne.

je commence en C car le premier code TRN se trouve là.
merci
 
Re : calcul conditionnelle

Re,

S'il n'y a qu'une ligne à remplir ou même quelques unes, mes formules font parfaitement l'affaire.

Et les calculs sont rapides.

Quand VBA est inutile pourquoi l'utiliser ? Cela évite tout problème si l'utilisateur désactive les macros.

J'aime beaucoup VBA vous savez, mais je ne l'ai jamais trouvé "sympa" comme vous dites.

A+
 
Re : calcul conditionnelle

merci pour ton aide.

Pour le forum j'ai allegé le fichier, mais je peux avoir plus de 200 positions et il y aura plusieurs onglet. sinon les formlues me conviendrait parfaitement.
c'est pour ca que j'ai besoin de passer par vba
 
Dernière édition:
Re : calcul conditionnelle

Re,

Il faudrait vous donner la peine de tester...

Ajustez au mieux les plages des formules matricielles.

Mettez en place toutes les formules, et dites-nous combien de temps met le fichier pour s'ouvrir.

A priori aucune formule n'est volatile, il n'y aura donc pas de recalcul intempestif.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour