définir un format procédure function

ballmaster

XLDnaute Occasionnel
Bonjour à tous,

j'ai crée une fonction qui marche bien MAIS j'aimerais également que le résultat soit formaté au format monétaire 2 décimal rouge négatif

Code:
Function coutimp(page, ex)

Dim plage As Range

Set plage = Sheets(4).Range("a2:i7")
nbex = 6000 - ex

If nbex > 0 Then testex = 4 Else testex = 3

coutimp = Application.WorksheetFunction.VLookup(page, plage, 2, False)
coutimp = coutimp - ((6000 - ex) / 1000) * Application.WorksheetFunction.VLookup(page, plage, testex, False)

[COLOR="Red"]With Selection
.NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"
End With[/COLOR]
End Function

Je suppose que c'est élémentaire pour certains mais je n'y arrive pas.
Alors, à votre bon coeur.........
 

job75

XLDnaute Barbatruc
Re : définir un format procédure function

Bonjour,

Je ne suis pas sûr d'avoir compris ce que vous voulez, alors remplacez :

.NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"

par l'une des 3 expressions :

.NumberFormat = "##0.00\ $;[Red]##0.00\ $"
.NumberFormat = "##0.00\ $;[Red]-##0.00\ $"
.NumberFormat = "##0.00\ $;[Red](##0.00)\ $"

A+

Edit : je ne vois pas l'intérêt du With...End. Ecrire simplement : Selection.NumberFormat
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : définir un format procédure function

Je comprends Ballmaster, votre macro est une fonction !
Je ne l'ai pas testée, mais sauf erreur de ma part, une fonction n'exécute pas les commandes (NumberFormat en est une). Il faut la remplacer par une procédure Sub ou Property.
A+
 

ballmaster

XLDnaute Occasionnel
Re : définir un format procédure function

Job 75,

je ne suis pas un pro en VBA.
j'utilise une procédure function car cela me permets avec cette fonction personnalisée d'automatiser des calculs en fonction de 2 arguments. (hop je copie/colle et c'est la belle vie).

Par contre, je ne savais pas qu'on ne pouvait executer des commandes depuis une function.

Merci pour le tuyau.
Quant à property......... c'est du chinois pour moi.

Je voulais que le résultat de cette fonction soit retourné à un format donné.
tant pis, je formaterais avec le menu classique excel.
 

Discussions similaires

Réponses
12
Affichages
714

Statistiques des forums

Discussions
312 485
Messages
2 088 808
Membres
103 971
dernier inscrit
abdazee