XL 2016 VBA - Valeur 1.0 donne 1

Remteyss

XLDnaute Junior
Bonjour le forum,

Quelqu'un saurait t-il me dire pourquoi lorsque l'on donne une valeur String "1.0" à une cellule en VBA, alors la valeur 1 apparaît ?

VB:
Sub test()
    ActiveWorkbook.Worksheets("Feuil1").Cells(1, 1).Value = "1.0"
End Sub

Alors que si on écrit directement "1.0" dans la cellule, cela affiche bien 1.0 ?

Merci par avance ;)
 
Solution
Bonjour.
Je pense que la cellule A1 de la Feuil1 a un format Standard et que dans ce cas Excel se sent autorisé à y mettre autre chose que ce qu'on lui dit d'y mettre, ce que personnellement je déplore. Ainsi donc s'il s'agit d'un texte convertible en nombre il effectue préalablement cette conversion. Après, ce nombre y est affichée selon le format Standard.
Édition: Cependant si vous mettiez une apostrophe au début de la constante String il l'enregistrerait toujours en texte.

Dranreb

XLDnaute Barbatruc
Bonjour.
Je pense que la cellule A1 de la Feuil1 a un format Standard et que dans ce cas Excel se sent autorisé à y mettre autre chose que ce qu'on lui dit d'y mettre, ce que personnellement je déplore. Ainsi donc s'il s'agit d'un texte convertible en nombre il effectue préalablement cette conversion. Après, ce nombre y est affichée selon le format Standard.
Édition: Cependant si vous mettiez une apostrophe au début de la constante String il l'enregistrerait toujours en texte.
 
Dernière édition:

Discussions similaires

Réponses
6
Affichages
202

Statistiques des forums

Discussions
311 720
Messages
2 081 917
Membres
101 839
dernier inscrit
laurentEstrées