conversion d'un nombre scientifique en un nombre standard

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

tigeline001

XLDnaute Occasionnel
Bonjour tout le monde
je veux convertir un nombre scientifique(1,234E+001) en nombre Standard en VBA
j'ai utlisé l'instruction suivante:
Format(nombre,"Standard")
Mais le résultat est toujours sous forme scientifique.je veux votre aide
Merci
 
Re : conversion d'un nombre scientifique en un nombre standard

Bonjour.
Que contient exactement votre cellule ?
Parce que un 'nombre scientifique' ça n'existe pas !
Ce qui existe d'utilisé par Excel c'est seulement Double, String, Currency, Date, Boolean, Error, Empty
Vous pouvez le savoir en faisant MsgBox TypeName([A3].Value)
Changer le format de cellule n'aurait aucun effet sur l'apparence d'une valeur String.
Ce qu'il faudrait surtout, c'est convertir celle ci en Double: With [A3]: If TypeName(.Value) = "String" Then .Value = CDbl(.Value): End With
 
Dernière édition:
Re : conversion d'un nombre scientifique en un nombre standard

Bonjour.

Code:
Sub ObtenirLeFormatNumeriqueStandard()

Dim t(4)

t(1) = "1,234E+001"
t(2) = "1,234E+1"
t(3) = "1,234E+0"
t(4) = "1,234"

For i = 1 To 4
 Set c = Cells(i, 1)
 c.NumberFormat = "@"
 c.Value = t(i)
Next
 
For i = 1 To 4
 Set c = Cells(i, 1)
  
 'Forcer le format numerique standard
  c.Offset(, 2).NumberFormat = "0.00"
 
  c.Offset(, 2).Value = Cells(i, 1).Value
  
Next

End Sub



Sub ForcerLeFormatScientifique()

Dim t(4)

t(1) = "1,234E+001"
t(2) = "1,234E+1"
t(3) = "1,234E+0"
t(4) = "1,234"

For i = 1 To 4
 Set c = Cells(i, 1)
 c.NumberFormat = "@"
 c.Value = t(i)
Next
 
For i = 1 To 4
 Set c = Cells(i, 1)
 
 'Forcer le format scientifique
 If InStr(UCase(Cells(i, 1)), "E") Then
  c.Offset(, 1).NumberFormat = "General"
 Else
  c.Offset(, 1).NumberFormat = "0.00E+00"
 End If
 c.Offset(, 1).Value = Cells(i, 1).Value
 
Next
End Sub


Cordialement

Docmarti
 
- 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
130
Réponses
5
Affichages
154
Réponses
12
Affichages
173
Réponses
5
Affichages
133
Retour