EXCEL VBA addition en maccro

Résolu/Fermé
matteco Messages postés 17 Date d'inscription vendredi 15 février 2008 Statut Membre Dernière intervention 16 décembre 2008 - 27 mai 2008 à 10:30
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 27 mai 2008 à 15:50
Bonjour,

dans un outil que j'ai mis en place, j'additionne des montants de factures.
pour des factures entière (100€, 200€ etc) l'addition s'effectue sans problème (100€ + 200€ donne 300€)
cependant lorsque les factures ne sont pas entières (100.50 €, 200.50€, etc) les montants ne s'additionnent pas mais se mettent les uns à la suite des autres. (100.50€ + 200.50€ donne 100.50200.50 au lieu de 301)
j'ai essayé d'utiliser la fonction ".value" et de modifier dans les options d'excel le type de séparateur (, ou .)
mais rien n'y fait le problème persiste.
avez vous une solution ? si oui laquelle ?
merci
A voir également:

3 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
27 mai 2008 à 10:41
bonjour,

Comment est le format de tes cellules ?

Si tu fais Format >> Cellules >> Monétaire, tu choisis le symbole "€", comme ça tu n'auras plus à le saisir. Ensuite les calculs se feront normalement.

;o)

polux
0
matteco Messages postés 17 Date d'inscription vendredi 15 février 2008 Statut Membre Dernière intervention 16 décembre 2008
27 mai 2008 à 10:56
les cellules sont déja au format monétaire.
dans mon cas la saisie ne se fait pas directement dans la feuille excel
je passe par une userform afin de renvoyer les données de la facture dans plusieurs tableaux
j'ai plusieurs variables pour traiter mes données et j'effectue plusieurs opérations avec ces variables.
les multiplications et les divisions marchent sans problème mais certaines additions ne marchent pas
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
27 mai 2008 à 11:16
il faut vérifier le type de variables déclarées. Si il y a des chiffiers avec une décimale il faut déclarer les variables en double ...
Dim nb1 As Double
De même pour retourner les valeurs dans les cellules Excel, il faut retourner des doubles en faisant, si nécessaire une convertions : Cdbl(nb1)
0
matteco Messages postés 17 Date d'inscription vendredi 15 février 2008 Statut Membre Dernière intervention 16 décembre 2008
27 mai 2008 à 15:47
j'ai trouvé une autre solution :
j'enregistre le montant de ma facture dans une variable que j'appelle montHT
au lieu de faire range("A1") = montHT.value
j'ai fais val(montHT) et ça marche mon instruction renvoit bien dans ma cellule cible un nombre (et non plus un texte)

merci tout de meme pour ta réponse
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
27 mai 2008 à 15:50
De rien et bravo

;o)

Bonne continuation
0