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.
 

frangy

XLDnaute Occasionnel
Bonjour à tous,

Une autre proposition avec 2 fonctions VBA.
La première pour identifier les valeurs en euro et la seconde pour celles en dollar.
Il reste à adapter le code selon le format réel des données.

VB:
Function Somme_Euro(Plage As Range) As Double
Dim Cel As Range
Dim Cumul As Double
    For Each Cel In Plage
        If Cel.NumberFormat = "#,##0.00 $" Then
            Cumul = Cumul + Cel.Value
        End If
    Next Cel
    Somme_Euro = Cumul
End Function

VB:
Function Somme_Dollar(Plage As Range) As Double
Dim Cel As Range
Dim Cumul As Double
    For Each Cel In Plage
        If Cel.NumberFormat = "[$$-409]#,##0.00" Then
            Cumul = Cumul + Cel.Value
        End If
    Next Cel
    Somme_Dollar = Cumul
End Function

Cordialement.
 

Pièces jointes

  • crashtwo.xls
    35 KB · Affichages: 24

frangy

XLDnaute Occasionnel
Ce n’est pas avec une image que nous pourrons effectuer des tests. Pour nous permettre de vérifier le format de tes données, il faut un fichier contenant des informations qui reflètent la réalité (données anonymes, bien sûr).

Cordialement.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir à toutes et tous :), salut @frangy ;),

Une fonction qui somme n'importe quelle devise même le Yen. Voir formules en H3:I6. Le format importe peu à condition que dans l'affichage apparaisse le symbole monétaire ou le code devise international.

VB:
Function Somme_Devise(plage As Range, Optional pepete As String) As Currency
Dim cumul As Currency, pattern, xcell
  If IsMissing(pepete) Then pattern = "*" Else pattern = "*" & pepete & "*"
  For Each xcell In plage
    If IsNumeric(xcell) Then If xcell.Text Like pattern Then cumul = cumul + xcell
  Next xcell
  Somme_Devise = cumul
End Function
 

Pièces jointes

  • crashtwo- somme devise- v1.xls
    42 KB · Affichages: 43
Dernière édition:

crashtwo

XLDnaute Nouveau
Ton fichier en retour.
J'ai encore besoin de votre aide par rapport à ce travail.
Donc, j'aurais besoin toujours que les € ou $ vont à gauche ou droite, mais il faut ajouter le calcul quand ce n'est pas une journée complète mais des heures par un taux horaire. Et aussi qu'au niveau de la démobilisation, si c'est en $ ou €.
Je ne sais pas si c'est faisable. Mais ce serait top si vous saviez m'aider.
 

Pièces jointes

  • Capture d’écran 2019-05-12 à 21.54.39.png
    Capture d’écran 2019-05-12 à 21.54.39.png
    873.4 KB · Affichages: 28
  • Classeur2.xlsx
    11.4 KB · Affichages: 7

Discussions similaires

Statistiques des forums

Discussions
311 723
Messages
2 081 934
Membres
101 844
dernier inscrit
pktla