![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums. |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: février 2003
Messages: 27
|
Bonjour,
J'effectue le code suivant pour forcer 1 chiffre apres la virgule Code :
Function myfunction() As Double Dim myVar As Double '.... 'Calcul '.... myfunction = Format(myVar, "0.0") End Function a) si myVar = 1.0 la valeur retourné par myFunction est 1 b) si myVar = 1.1 la valeur retournée par myFunction est 1.1 Que faut il faire pour dans le cas a) myFunction retourne 1.0 et non 1. Merci d'avance |
|
|
|
|
|
#2 (permalink) |
|
Membre régulier
![]() Date d'inscription: mai 2008
Âge: 23
Messages: 136
|
Bonjour
une solution simple met ta fonction qui renvoi un caractère comme ca Code :
Function myfunction() As String Salut Dernière modification par AlainTech ; 14/05/2008 à 15h34 Motif: Balises [code], pas color! |
|
|
|
|
|
#3 (permalink) |
![]() |
Bonjour
Personnellement, je ne vois pas l'utilité d'une fonction pour cela... Peux-tu détailler ce que tu souhaites réaliser?
__________________
Pierre Fauconnier -------------------- "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire) Pensez au tag ![]() Mon blog sur DVP - Mes petits papiers sur DVP Je ne peux en aucun cas être tenu pour responsable des conséquences de l'utilisation des codes que je fournis dans le cadre des réponses apportées sur les forums, même s'il s'avérait que ces codes sont erronés ou amènent à des dysfonctionnements, de manière manifeste ou non. |
|
|
|
|
|
#4 (permalink) |
|
Membre à l'essai
![]() Date d'inscription: mai 2007
Messages: 49
|
c'est simple, il suffit de vérifié changer le chiffre avant la virgule par 0 et de vérifier que la valeur obtenu =0 si oui, changer le format de myVar
Pour changer le 1er chiffre il y a 2 solutions : 1) récupérer ce qu il y a après la virgule et le concaténer avec 0 2) faire une boucle dans laquelle tu retire 1 à ta variable à chaque fois jusqu'à ce qu'elle soit inférieure à 1 |
|
|
|
|
|
#5 (permalink) |
![]() |
Bonsoir Vince6262
Heu... C'est quoi le lien avec la question initiale? moi, je ne vois pas...
__________________
Pierre Fauconnier -------------------- "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire) Pensez au tag ![]() Mon blog sur DVP - Mes petits papiers sur DVP Je ne peux en aucun cas être tenu pour responsable des conséquences de l'utilisation des codes que je fournis dans le cadre des réponses apportées sur les forums, même s'il s'avérait que ces codes sont erronés ou amènent à des dysfonctionnements, de manière manifeste ou non. |
|
|
|
|
|
#6 (permalink) |
|
Inscrit(e)
Date d'inscription: juillet 2007
Localisation: au pays de la liberté d'esprit
Messages: 2 955
|
Bonjour,
Code :
Private Sub Command1_Click() MsgBox myfunction(1) MsgBox myfunction(1.1) MsgBox myfunction(25.3) MsgBox myfunction(137) End Sub Function myfunction(coucou As Double) As String Dim couic As String couic = Str(coucou) myfunction = Format(coucou, "#.0") End Function
__________________
Je ne regarde ni n'analyse aucun fichier joint, mais uniquement les portions de code incluses et donc affichées et commentées dans une discussion. |
|
|
|
|
|
#7 (permalink) |
![]() |
Bonjour Ucfoutu
Je ne vois pas l'intérêt de passer par une variable string Code :
Function myfunction(coucou As Double) As String myfunction = Format(coucou, "#.0") End Function Pour ma part, créer une fonction d'une ligne qui sera appelée par une ligne de code pour remplacer une ligne de code qui appellerait directement la fonction Format me semble totalement absurde... Sauf à découvrir les vraies (et complètes) motivations de Kiles...
__________________
Pierre Fauconnier -------------------- "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire) Pensez au tag ![]() Mon blog sur DVP - Mes petits papiers sur DVP Je ne peux en aucun cas être tenu pour responsable des conséquences de l'utilisation des codes que je fournis dans le cadre des réponses apportées sur les forums, même s'il s'avérait que ces codes sont erronés ou amènent à des dysfonctionnements, de manière manifeste ou non. |
|
|
|
|
|
#8 (permalink) |
|
Inscrit(e)
Date d'inscription: juillet 2007
Localisation: au pays de la liberté d'esprit
Messages: 2 955
|
Bonjour, Pierre Fauconnier,
J'ai simplement oublié d'effacer les 2 lignes avec couic (dont tu auras remarqué que je ne l'utilise pas Pour le reste, ce n'était qu'un exemple, car notre ami parle de calculs dans sa fonction (à laquelle il ne passe curieusement aucun paramètre...)
__________________
Je ne regarde ni n'analyse aucun fichier joint, mais uniquement les portions de code incluses et donc affichées et commentées dans une discussion. |
|
|
|
|
|
#9 (permalink) |
![]() |
Bonjour ucfoutu,
Comme Kiles ne donne pas signe de vie depuis le 14, je vais attendre qu'il se manifeste... Bon week-end.
__________________
Pierre Fauconnier -------------------- "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire) Pensez au tag ![]() Mon blog sur DVP - Mes petits papiers sur DVP Je ne peux en aucun cas être tenu pour responsable des conséquences de l'utilisation des codes que je fournis dans le cadre des réponses apportées sur les forums, même s'il s'avérait que ces codes sont erronés ou amènent à des dysfonctionnements, de manière manifeste ou non. |
|
|
|
|
|
#10 (permalink) | ||
|
Candidat au titre de Membre du Club
![]() Date d'inscription: février 2003
Messages: 27
|
Bonjour,
Citation:
Citation:
Le problème se présentait lorsque la valeur apres la virgule est 0 Je souhaitais, que le nombre affiché soit N.x pour x = 0...n si N = 1.0 alors la valeur affichée est 1 (KO) SI N = 1.1 la valeur affichée est 1.1 (OK) réponse ci-dessous : Code :
Public Sub test2() Dim myvar As Double myvar = 1.1 Debug.Print myvar myvar = 1 Debug.Print Format(myvar, "#.0") End Sub |
||
|
|
|
![]() |
![]() |
||
[VBA] Pb de Decimal
|
||
| Outils de la discussion | |
|
|