Ecriture eronée d'une variable Single dans une feuille de calcul

  • Initiateur de la discussion Initiateur de la discussion Orage
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

O

Orage

Guest
J'écris une variable de type Single avec une macro Excel dans une case d'une feuille de calcul.

Lorsque je cherche à écrire un nombre avec fraction (par exemple 7.1) j'obtiens dans la feuille une valeur non exacte (ex: 7,09999990463256).

Quelqu'un sait-il:
1) D'où cela peut venir ?
2) Comment y remédier ?

Par avance merci.
 
Bonjour,

Merci pour la réponse.

Le passage du type "Single" au type "Double" permet d'écrire les nombres avec fractions de manière plus correcte.

Il subsiste encore un problème d'arrondi (j'obtiens à un endroit 6,2 au lieu de 6,3 qui est la valeur exacte).

Je m'en tire avec la procédure suivante qui nettoie les cases juste après leur écriture.

Private Sub WritingCorrector()
Dim ValTst As Single
Dim ValFix As Integer

ValFix = Fix(ActiveCell.Value)
ValTst = ((ActiveCell.Value - ValFix) * 10)

If (ValTst > (Int(ValTst) + 0.5)) Then
ActiveCell.Value = Fix(ActiveCell.Value) - Int(-((ActiveCell.Value - Fix(ActiveCell.Value)) * 10)) / 10
Else
ActiveCell.Value = Fix(ActiveCell.Value) - Fix(-((ActiveCell.Value - Fix(ActiveCell.Value)) * 10)) / 10
End If
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
773
Retour