chiffre arrondi dans un tableau

C

Cédric

Guest
Bonjour a tous,
je travaille sur un tableau qui est rempli a l'aide d'une macro. Mon souci est qu'en entrant une valeur décimale dans celui-ci, il arrondit toujours la valeur.(ex 2,25 devient 2 dans le tableau). J'ai essayé en modifiant les format de cellules mais rien ne change!
Ca doit être un truc tout bete mais je n'ai pas d'idée.

Merci d'avance pour vos réponses

Cédric
 
J

JCA06

Guest
Salut Cédric,

Comme tu dis, c'est probablement un truc tout bète !

On peut présumer qu'il s'agit soit d'un problème de calcul de la valeur, soit d'un problème de présentation !

Mais si tu en disais davantage, cela permettrait :
1. De te dire d'où cela vient
2. De te dire comment l'éviter
3. De faire profiter les autres lecteurs de ton experience
4. D'éviter, à toi et à ceux qui te répondront, de perdre du temps dans des directions qui ne sont pas les bonnes

Ce qui, en résumé, est un peu l'objectif de ce merveilleux forum.

A plus
 
C

Cédric

Guest
Salut JCA06
En fait, sur une feuille "calcul" j'ai un bouton "option" qui me permet de selectionner une machine et une durée de fontionnement. Cette valeur est stockée sur une feuille "support". Ensuite une ligne est crée dans "calcul" où apparait la machine ainsi que la durée.

Par exemple, si je tape une durée de 4,25 dans le menu "option" cette valeur apparait bien sur le "support" mais il n'y a que 4 sur le tableau "calcul".

Pour remplir la case du tableau j'ai cette formule:

If Sheets("support").Range("B1") = True Then
résultat = Sheets("support").Range("B4")
Range("D6") = résultat

J'espere avoir été un peu plus clair
A plus
 
J

JCA06

Guest
Rebonjour Cédric, le Forum, bonjour Michel_M,

Fait un essai en modifiant ta ligne :

Range("D6") = résultat

En : Range("D6") = Format(résultat, "# ##0.00")

C'est sans garantie, mais ça marche pour la mise en forme des TextBox dans les userform.

A plus.
 
@

@+Thierry

Guest
Bonjour Cedric, Michel, re JC (bonne digestion avec ce limoncello ? !!!), le Forum

Moi je pense tout simplement que ta Variable "Résultat" est soit mal déclarée ou pas déclarée du tout...

Voici comment je m'y prendrai pour être sûr de mon coup...

Option Explicit

Sub Test()
'Ici je Dim la Variable as Double (pour toutes valeurs numériques avec ou sans décimale voir Aide pour Limite)
Dim Resultat As Double

'Ici il est primordial de tester que la valeur est numérique avnat d'initialiser la Variable
If Not IsNumeric(Sheets("support").Range("B4")) Then Exit Sub

   If Sheets("support").Range("B1") = True Then
     Resultat = CDbl(Sheets("support").Range("B4"))

       With Sheets("calcul").Range("D6")
        .Value = Resultat
        .NumberFormat = "# ##0.00"
       End With
   End If
End Sub

De cette manière, il ne peut pas y avoir de surprise, soit il ne se passe rien (le premier test "Not IsNumerique" n'est pas passé), soit tu as bien ta valeur en "D6" de la feuille "Calcul".

Pour Cédric, tu noteras au passage que je ne mets jamais d'accent ni caractère spéciaux dans les noms utilisés dans mes codes VBA (même les noms de feuilles d'ailleurs, essayez un RowSource = "Troisième Feuille à gauche!A1:A100"....), et je le conseille à tous pour vous éviter parfois des arrachages de cheveux, quand tout à coup, après un Zippage, ou sur une autre machine, ou encore une traversée par email, tout foire...

Pour JC tu verras ici exactement ce dont je te parlais à midi pour le Test de Valeur Numérique...

Bon Aprèm et bon week end à tous et toutes
@+Thierry
 

Discussions similaires

Réponses
5
Affichages
355
Compte Supprimé 979
C

Membres actuellement en ligne

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 536
dernier inscrit
komivi