Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

calcul macro VBA avec Matching de valeur

cg1980

XLDnaute Occasionnel
Bonjour,
J'aimerais faire un calcul au moyen d'une macro.

2 onglets Frontemovimenteazione1 (que j'appelle A)
FroneDati1 (B)

voici les détails:
j'aimerais cacluler "chiffre de colonne AS de l'onglet B" + "colonne I de l'onglet A" -"AS*AT/100 de l'onglet B"-"AT32 de l'onglte B" pour chaque code correspondant qui est en colonne A des 2 onglets.

Example j'aimerais faire ce calcul pour la ligne ayant le code AT0000386198 Corp et ainsi de suite.

Il y a une contrainte. L'opération se fait uniquement si dans la colonne J de l'onglet A il est écrit "INS"
et reporter ces résultats dans en colone K de l'onglet A

Merci beaucoup
 

Pièces jointes

  • TEST.xls
    18 KB · Affichages: 51
  • TEST.xls
    18 KB · Affichages: 42
  • TEST.xls
    18 KB · Affichages: 48

Dranreb

XLDnaute Barbatruc
Re : calcul macro VBA avec Matching de valeur

Bonjour.
J'ai donc mis "INS" en J7 puis
Code:
=SI($J7="INS";EQUIV(A7;FonteDati1!A:A;0);#N/A)
en L7 (j'espère que l'utilisation de cette colonne non prévue ne gène pas) puis:
Code:
=SI(ESTNA($L7);"";INDEX(FonteDati1!$AS:$AS;$L7)*(1-INDEX(FonteDati1!$AT:$AT;$L7)/100)+$I7-FonteDati1!$AT$32)
en K7. résultat étrange. Normal ?
À +
 

cg1980

XLDnaute Occasionnel
Re : calcul macro VBA avec Matching de valeur

hmm,théoriquement en K il devrai ramener 133500 (correpondant en "fontidati cellule AS4" du 2ème onglet)

L'opération devrait se faire sur les lignes 7 du 1er onglet et 3 du 3ème onglet (où on retrouvne le code AT0000385745 Corp en colonne A)
 

Dranreb

XLDnaute Barbatruc
Re : calcul macro VBA avec Matching de valeur

Bonjour

INDEX(FonteDati1!$AS:$AS;$L7) = 1335000 (= AS3 et non AS4 pour "AT0000386198 Corp")
INDEX(FonteDati1!$AT:$AT;$L7) = 0
$I7 = 900000
FonteDati1!$AT$32 = 10000000
1335000*(1-0/100) = 1335000
1335000+900000-10000000 = -7765000

Voyez si le calcul que vous m'avez indiqué était celui qu'il fallait:
j'aimerais cacluler "chiffre de colonne AS de l'onglet B" + "colonne I de l'onglet A" -"AS*AT/100 de l'onglet B"-"AT32 de l'onglte B"
Donc disons: B!AS + A!I - B!AS * B!AT / 100 - B!AT32
que j'ai simplifié en: A!I + B!AS * (1 - B!AT / 100) - B!AT32

Le nouveau code "AT0000385745 Corp " dont vous me parlez à présent ne figurait pas dans votre première feuille et je ne sais donc la valeur de colonne I que vous appliquez.
À+
 
Dernière édition:

Discussions similaires

Réponses
10
Affichages
214
Réponses
5
Affichages
397
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…