affichage de résutats surprenants !!! - VB/VBA/VBS - Programmation
Marsh Posté le 03-11-2018 à 09:33:06
En fait, quand tu mets un nombre entre parenthèse directement comme ça, cela veut dire que tu indiques un nombre négatif (c'est une histoire de convention dans certains documents comptables...). Si tu veux changer ce comportement, il faut aller dans le panneaux de configuration de Windows :
"Panneaux de configuration" > "Modifier le format des nombres, des dates et de l'heure" > "Options régionales" > "Personnaliser ..." > "Symbole monétaire" > "Format négatif"
Sinon (et c'est le mieux) tu veux juste afficher ton nombre entre parenthèse, il faut que tu fasses :
Mafeuille.Cells(5, 1) = "=(" & 1789 & " )"
ou bien
Mafeuille.Cells(5, 1) = "'(" & 1789 & " )"
Marsh Posté le 03-11-2018 à 16:37:48
Eh bien je tombe de haut !! j'ai commencé l'informatique avec les cartes perforées, pratiqué FORTRAN IV, Basic et autres langages, et jamais je n'ai lu, ni entendu parlé de ce fondamental !
Comme Quoi quelque soit le niveau, on a toujours des carences !
En tous cas merci infiniment car je n'aurai jamais pu imaginer seul la source de ce problème.
Marsh Posté le 04-11-2018 à 22:32:21
C'est surtout valable sur Excel. Mais je peux comprendre que c'est troublant
Marsh Posté le 03-11-2018 à 06:58:21
Bonjour à tous,
Je suis "tombé" par hasard sur des résultats curieux! lors de l'écriture de macro
Je serai curieux de connaitre le pourquoi du comment..
Je suis désolé mais n'étant pas un habitué de ce site je ne vois pas le moyen pour mettre mon code en encadré
Précision Je travaille avec Excel 97 .Oui c'est peut-être de la préhistoire, mais à l'heure ou des laboratoires cherchent à cloner des dinosaures.....
Mes remerciements a ceux qui solutionneront mon énigme
Mon code:
Option Base 1
Sub toto()
Dim variable_1 As Integer, variable_2 As String, variable_3 As String, Mafeuille As Worksheet, i As Integer
Set Mafeuille = ThisWorkbook.Worksheets("Feuil1" )
variable_1 = 1789
Mafeuille.Cells(1, 1) = "(" & variable_1 & " )" 'Résultat affiché: -1789
Mafeuille.Cells(2, 1) = "(" & CStr(variable_1) & " )" 'Résultat affiché: -1789
variable_2 = 1789
Mafeuille.Cells(3, 1) = "("e; & variable_2 & " )" 'Résultat affiché: -1789
variable_3 = "(" & variable_1 & " )"
Mafeuille.Cells(4, 1) = variable_3 'Résultat affiché: -1789
For i = 1 To Len(variable_3)
Mafeuille.Cells(4, i + 1) = Mid(variable_3, i, 1) 'Résultat affiché: ( 1 7 8 9 )
Next i
Mafeuille.Cells(5, 1) = "(" & 1789 & " )" 'Résultat affiché: -1789
End Sub