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

VBA - recherche selon format monétaire

altefqhatre

XLDnaute Junior
Bonjour tout le monde,

Voilà un moment que je cherche mais sans succès à coder une macro qui me recherche un certain format puis à additioner les formules ayant ce même format là

Je m'explique:

Dans un fichier j'ai une colonne avec des montants en plusieurs monnaies différentes, j'aimerais que la macro recherche et additionne les celulles ayant le même format (par exemple: somme en EUR, somme en USD, etc)

En fait j'arrive pas à trouver le code nécéssaire pour recherche le format monétaire dans une celulle :-S

D'avance merci beaucoup pour votre aide!!

++ et bonne année
 

jp14

XLDnaute Barbatruc
Re : VBA - recherche selon format monétaire

Bonjour

La propriété ".NumberFormat" permet de retrouver le format d'une cellule.
Par exemple
#,##0.00 $ format monétaire en euros

[$$-409]#,##0.00 format en dollar
[$£-809]#,##0.00 format avec des Livres

Il suffit donc de tester la présence d'un symbole monétaire.

JP
 
Dernière édition:
G

Guest

Guest
Re : VBA - recherche selon format monétaire

bonjour,

Exemple:
Code:
Function SommeUSD(Plage As Range)
    Dim c As Range
    Dim somme As Double
    For Each c In Plage
        If c.NumberFormat Like "*[[]$USD]" And c <> 0 Then somme = somme + c
    Next c
    SommeUSD = somme
End Function

A+
 

altefqhatre

XLDnaute Junior
Re : VBA - recherche selon format monétaire

Je suis navré mais je suis pas très doué en vba

Si j'ai bien compris, tu déclares une nouvelle fonction permettant d'additioner les cellules en USD.

Première question: pas de Sub...() ?

Et comment affecter cette fonction à ma fameuse colonne E puis coller le total dans une autre celulle?

Merci beaucoup pour le coup de main ^^
 

altefqhatre

XLDnaute Junior
Re : VBA - recherche selon format monétaire

Oui désolé, c'est peut-être plus parlant avec un exemple

Dans l'idéal j'aimerais additioner les montants par monnaie et par date... par exemple:

01.01.2010: Total CHF
01.01.2010: Total USD
01.01.2010: Total EUR
etc etc...

Mais bon ça c'est dans mes rêves mdr

Dans le fichier joint, j'aimerais additioner les montants par monnaie et les coller dans une autre cellule, n'importe laquelle (dans l'idéal celle correspondant la la bonne date).

J'en demande trop non? J'ai l'impression que c'est presque irréalisable :-S
 

Pièces jointes

  • Exemple.xls
    16.5 KB · Affichages: 93
  • Exemple.xls
    16.5 KB · Affichages: 84
  • Exemple.xls
    16.5 KB · Affichages: 88
G

Guest

Guest
Re : VBA - recherche selon format monétaire

Bonjour,

Voici un fichier avec deux exemples.

1 - avec une fonction personnalisée. Avec cet exemple il vaut mieux enlever les lignes vides entre les dates/montants à comparer/sommer.
Ne fonctionnera correctement que si les sommes sont séparées d'une colonne avec les dates.

2 - avec une fonction d'excel sommeProd en ajoutant une colonne qui contient le symbole textuel de la monaie. A mon avis c'est plus simple et plus sûr, si tu ne connais pas trop VBA

A+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…