Somme Si avec deux devises

crashtwo

XLDnaute Nouveau
Bonjour à tous.

J'ai besoin d'aider car je suis vraiment plus à jour sur Excel.

Pour situer, je réalise un document qui regroupe des commandes.
Je souhaite trouver 2 formules quasi identiques pour automatiser le calcul des coûts qui sont en 2 monnaies : € et $ dans une même colonne.

Plus dans le detail. :
1 colonne, de I2 à I32, avec des valeurs chiffrées en € et en $ (pour les commandes) et une seconde colonne, de N2 à N32, avec le même type de valeurs (en € et $) pour le coût des déplacements.

2 cellules en dessous de cette colonne :
- La premiere est O32.
C'est la cellule que je dédie à la somme des commandes + coût déplacement uniquement en €
- La seconde est P32.
C'est la cellule que je dédie à la somme de toutes les commandes + coût déplacement uniquement en $

Mon souhait est donc de réaliser dans la cellule O32 une somme qui exclu les valeurs en $
Et faire la meme chose en P32 mais excluant les valeurs en €
Pour au final connaitre les deux totaux en € et $.

J'ai essayé avec une somme SI, mais je n'ai pas réussi à intégrer la condition : "si la cellule est en € ou en $"

D'avance, merci.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Y-a-t-il une faille dans la solution par formule proposée par ellimac?

L'astuce est bonne. Mais il y a quelques points à éclaircir:
  • Il n'y a pas unicité du retour. Les formats devises Dollar, Livre, Rouble, FR Suisse, etc ... semblent renvoyer la même valeur "P2"
  • Je n'ai pas l'impression que Cellule() supporte la notion "matricielle". Ce qui pourrait s'avérer problématique pour un SommeProd.
  • si les nombres négatifs sont formatés en rouge, alors Cellule renvoie "P2-" ou" M2-"
Donc, si on n'utilise que des $ et € et si on utilise une colonne auxiliaire avec la formule, ce doit être OK. Je n'ai pas creusé. Au dodo
Bonne nuit :)
 

Pièces jointes

  • Cellule(Format- v1.xlsx
    70.5 KB · Affichages: 6
Dernière édition:

job75

XLDnaute Barbatruc
Bonsoir à tous,

Je découvre ce fil et je n'ai pas été plus loin que le poste #1, voyez cette fonction VBA dans le fichier joint :
VB:
Function TotalMoney(c1 As Range, c2 As Range, money$)
TotalMoney = IIf(InStr(c1.Text, money), c1, 0) + IIf(InStr(c2.Text, money), c2, 0)
If TotalMoney = 0 Then TotalMoney = ""
End Function
Elle doit être placée impérativement dans un module standard.

Copier la cellule C2 et Collage spécial-Formules sur C2: D32 :
Code:
=TotalMoney($A2;$B2;DROITE(C$1))

Bonne nuit.
 

Pièces jointes

  • TotalMoney(1).xlsm
    21.5 KB · Affichages: 8

job75

XLDnaute Barbatruc
Bah le code que j'ai donné doit être placé comme je l'ai dit dans un module standard :

- touches Alt+F11 pour aller dans VBA

- dans VBA menu Insertion => Module

- coller dans le module obtenu le code de mon post #33.
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T