onsoir Jean Charles, le Forum
L'ambiance café fait d'Excellentes Andouillettes "5 A" (pour les connaisseurs) !!!
Tu vas bien j'espère ?
Bon pour ton problème, je pense que tu dois conserver ta valeur dans la variable "Nxx" et ne plus essayer ensuite de récupérer le résultat qui a été expédié dans la TextBox9... En effet la mise en format risque de te faire faire perdre la valeur réélle numérique...
Donc si Nxx est intialisée dans une autre procédure que celle qui va lancer l'écriture en Range("C" & L) il te faudra la déclarer Public soit au niveau Private Module de ton UserForm (Private Nxx As Double en Top du Private Module).... Soit en Plublic réélle pour toput le projet (Public Nxx As Double en Top d'un Module Standard eg: "Module1")
Il est à noter que la portée et la durée de vie de cette variable sera étendue, et par conséquent il se peut que tu aies aussi le besoin de la ré-initiliser à zéro à un moment ou un autre (Nxx = 0)
D'autre part, je n'utilise jamais des Varibles numériques de type Single comme tu as pu voir je passe tout en Double, j'ai déjà eu des erreurs de calculs sur décimale avec les Singles, donc je te conseille de faire de même et tampi pour les 64 Bits au lieu des 32...
Voilà, je pense qu'avec ces deux méthodes, tu devrais avoir un résultat plus cohérent... N'oublies pas, aussi que si besoin tu as RoundUp, ou RoundDown, mais non-applicable directement, il faut passer par "WorkSheetFunction" :
.Range("C" & L).Value = Application.WorksheetFunction.RoundUp(nxx, 2)
Ah oui un autre astuce si tu veux aussi c'est d'utiliser la Fonction Val si vraiment tu veux récupérer la valeur d'une TextBox formattée en text :
.Range("C" & L).Value = Val(TextBox9)
Mais l'aide dit pour Val :
:La fonction Val ne reconnaît que le point comme séparateur décimal (.). Lors de l'utilisation d'autres séparateurs décimaux (applications internationales, par exemple), convertissez la chaîne en nombre à l'aide de la fonction CDbl....
En partant de ce principe tu peux te tenter d'essayer aussi :
.Range("C" & L).Value = CDbl(TextBox9)
Et donc on en revient à une varaible de type Double...
Voilà, encore un post interminable !!!
Je profite de l'occasion pour te/vous souhaiter à tous et toutes un bon Noël ...
(uniquement à Monte Carlo !!!!)
@+Thierry