Fonction VBA qui faire aussi le format

Le
phil257
Salut à tous,
voilà j'ai fait une fonction VBA toute simple qui calcule le prix TTC
en fonction du prix HT et du taux de TVA.
Le calcul ne pose pas de problème mais je voudrais que la fonction me
renvoit le résultat avec la mise en forme en euros ! (comme la
fonction financière VPM, qui même si elle est saisie dans une cellule
au format standard donne le résultat et passe automatiquement la
cellule au format monétaire)

voila ce que j'ai mis mais ça marche pas !

Function ttc(prix_ht As Single, taux_tva As Single) As Currency
ttc = prix_ht + prix_ht * taux_tva
Selection.NumberFormat = "#,##0.00 $"
End Function

Quand je suis dans ma feuille excel et que je met =ttc(10;19,6%)
j'obtient bien 11,96 mais j'ai pas le format monétaire !

Merci d'avance pour vos réponses

@+Phil
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fredo P.
Le #17971081
Avec ces lignes dans le code de feuille, ça fonctionne mais il faudrait sans
doute limiter la routine aux cellules concernées si possible.
Private Sub Worksheet_Change(ByVal Target As Range)
Target.NumberFormatLocal = "# ##0,00 ?"
End Sub

news:
Salut à tous,
voilà j'ai fait une fonction VBA toute simple qui calcule le prix TTC
en fonction du prix HT et du taux de TVA.
Le calcul ne pose pas de problème mais je voudrais que la fonction me
renvoit le résultat avec la mise en forme en euros ! (comme la
fonction financière VPM, qui même si elle est saisie dans une cellule
au format standard donne le résultat et passe automatiquement la
cellule au format monétaire)

voila ce que j'ai mis mais ça marche pas !

Function ttc(prix_ht As Single, taux_tva As Single) As Currency
ttc = prix_ht + prix_ht * taux_tva
Selection.NumberFormat = "#,##0.00 $"
End Function

Quand je suis dans ma feuille excel et que je met =ttc(10;19,6%)
j'obtient bien 11,96 mais j'ai pas le format monétaire !

Merci d'avance pour vos réponses

@+Phil
Raoul VOLFONI
Le #17971071
Bonsoir,

Il me semble qu'il n'est pas possible d'agir sur la mise en forme à partir
d'une fonction.
Il te faut mettre la cellule au format, ou un format conditionnel dans
excel.

Ou alors, il te faut faire une sub.

--
Cordialement,
Raoul VOLFONI


Salut à tous,
voilà j'ai fait une fonction VBA toute simple qui calcule le prix TTC
en fonction du prix HT et du taux de TVA.
Le calcul ne pose pas de problème mais je voudrais que la fonction me
renvoit le résultat avec la mise en forme en euros ! (comme la
fonction financière VPM, qui même si elle est saisie dans une cellule
au format standard donne le résultat et passe automatiquement la
cellule au format monétaire)

voila ce que j'ai mis mais ça marche pas !

Function ttc(prix_ht As Single, taux_tva As Single) As Currency
ttc = prix_ht + prix_ht * taux_tva
Selection.NumberFormat = "#,##0.00 $"
End Function

Quand je suis dans ma feuille excel et que je met =ttc(10;19,6%)
j'obtient bien 11,96 mais j'ai pas le format monétaire !

Merci d'avance pour vos réponses

@+Phil
bret 05
Le #17978191
Merci pour vos deux réponses

Ok Fredo P. j'avais pensé aussi au code vba évènementiel de la feuille mais
ça me satisfait moyen.

Raoul VOLFONI (tonton flingueur ?) je pensais aussi que la mise en forme
n'était pas possible dans une fonction mais pourtant la fonction VPM
intégrée à excel le fait très bien elle.

Si quelqu'un a une idée je prends.

ps: ne tenez pas compte du nom de l'expéditeur bretN° c'est parce que je
suis au boulot !

@+Phil



Salut à tous,
voilà j'ai fait une fonction VBA toute simple qui calcule le prix TTC
en fonction du prix HT et du taux de TVA.
Le calcul ne pose pas de problème mais je voudrais que la fonction me
renvoit le résultat avec la mise en forme en euros ! (comme la
fonction financière VPM, qui même si elle est saisie dans une cellule
au format standard donne le résultat et passe automatiquement la
cellule au format monétaire)

voila ce que j'ai mis mais ça marche pas !

Function ttc(prix_ht As Single, taux_tva As Single) As Currency
ttc = prix_ht + prix_ht * taux_tva
Selection.NumberFormat = "#,##0.00 $"
End Function

Quand je suis dans ma feuille excel et que je met =ttc(10;19,6%)
j'obtient bien 11,96 mais j'ai pas le format monétaire !

Merci d'avance pour vos réponses

@+Phil
Publicité
Poster une réponse
Anonyme