Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 VBA - Valeur 1.0 donne 1

  • Initiateur de la discussion Initiateur de la discussion Remteyss
  • 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 !

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.
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:
D'accord je vois !
Merci à vous deux @pierrejean et @Dranreb
Après modification, ça fonctionne !

Voici le code modifié si ça peut servir :

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

Bonne fin de journée 😉
 
- 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

Discussions similaires

Réponses
5
Affichages
241
Réponses
1
Affichages
180
Réponses
2
Affichages
202
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
171
Réponses
4
Affichages
243
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
861
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…