Format mode ingenieur pour VBA
Résolu/Fermé
uid25348
Messages postés
4
Date d'inscription
lundi 12 janvier 2004
Statut
Membre
Dernière intervention
28 septembre 2005
-
27 sept. 2005 à 14:06
anonymous - 16 nov. 2009 à 12:47
anonymous - 16 nov. 2009 à 12:47
A voir également:
- Format mode ingenieur pour VBA
- Format epub - Guide
- Mode sécurisé samsung - Guide
- Mode d'emploi - Guide
- Telecharger format factory - Télécharger - Conversion & Codecs
- Format apfs - Guide
7 réponses
Je me suis posé la question, Pas de réponses simple et rapide sur le Net,
Alors après la bataille certes, mais quand même:
La réponse est :
##0,0E+0
Les deux "#" avant le premier "0" sert à dire espace réservé pour deux chiffres. Ici, on aura donc des multiples de milliers. !!!
Le ",0" est le nombre de chiffres après la virgule (autant qu'on veut).
Le E+ c'est pour l'affichage scientifique avec le signe.
Le dernier "0" c'est le nombre de chiffres de l'exposant (autant qu'on veut).
Salutation.
Alors après la bataille certes, mais quand même:
La réponse est :
##0,0E+0
Les deux "#" avant le premier "0" sert à dire espace réservé pour deux chiffres. Ici, on aura donc des multiples de milliers. !!!
Le ",0" est le nombre de chiffres après la virgule (autant qu'on veut).
Le E+ c'est pour l'affichage scientifique avec le signe.
Le dernier "0" c'est le nombre de chiffres de l'exposant (autant qu'on veut).
Salutation.
uid25348
Messages postés
4
Date d'inscription
lundi 12 janvier 2004
Statut
Membre
Dernière intervention
28 septembre 2005
28 sept. 2005 à 08:48
28 sept. 2005 à 08:48
Bonjour LUST et merci pour ta réponse
Mais cela ne me suffit pas , il faut que le format de sortie soit toujours en mode ingenieur .C'est à dire un multiple de 3 . Dans ton example format( 20000,"0.00E+")
ton resultat est 2,00E+4
et moi je veux que cela sorte sous forme 20,00E+3
pour 2000 je veux 2,00 E+3
pour 100 je veux 100 E+0
pour 0.05 je veux 50,00E-3
Il faut d'exposanr E soit toujours un multiple de 3 .
soit E+3 ou E+6 ou E-12 ou E-9 etc
Si tu as une solution Merci d'avance
Mais cela ne me suffit pas , il faut que le format de sortie soit toujours en mode ingenieur .C'est à dire un multiple de 3 . Dans ton example format( 20000,"0.00E+")
ton resultat est 2,00E+4
et moi je veux que cela sorte sous forme 20,00E+3
pour 2000 je veux 2,00 E+3
pour 100 je veux 100 E+0
pour 0.05 je veux 50,00E-3
Il faut d'exposanr E soit toujours un multiple de 3 .
soit E+3 ou E+6 ou E-12 ou E-9 etc
Si tu as une solution Merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Perso j'ai trouvé ça sur internet :
Function FormatEngineering(Number As Variant, Optional DecimalPlaces
> As Long = 1) As String
> Dim Exponent As Long
> Dim Parts() As String
> Parts = Split(Format(Number, "0.0#############E+0"), "E")
> Exponent = 3 * Int(Parts(1) / 3)
> FormatEngineering = Format(Parts(0) * 10 ^ (Parts(1) - Exponent), _
§>§ "0." & String(DecimalPlaces, "0")) & _
§>§ "E" & Format(Exponent, "+0;-0")
> End Function
Je ne l'ai pas testé car je n'y connais rien en macro Excel mais je cherche aussi à avoir ce type d'affichage donc je vais m'y mettre !
Function FormatEngineering(Number As Variant, Optional DecimalPlaces
> As Long = 1) As String
> Dim Exponent As Long
> Dim Parts() As String
> Parts = Split(Format(Number, "0.0#############E+0"), "E")
> Exponent = 3 * Int(Parts(1) / 3)
> FormatEngineering = Format(Parts(0) * 10 ^ (Parts(1) - Exponent), _
§>§ "0." & String(DecimalPlaces, "0")) & _
§>§ "E" & Format(Exponent, "+0;-0")
> End Function
Je ne l'ai pas testé car je n'y connais rien en macro Excel mais je cherche aussi à avoir ce type d'affichage donc je vais m'y mettre !
Lust
Messages postés
243
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
12 septembre 2007
123
28 sept. 2005 à 04:02
28 sept. 2005 à 04:02
Ca marche, moi j'ai essayé ça dans la fenêtre d'execution :
?format(20000,"0.00E+")
2,00E+4
En procédant de la sorte :
Public Function strIngenieur(ByVal dblVar As Double) As String
strIngenieur = Format(dblVar, "0.00E+")
End Function
Ca fonctionne :
?strIngenieur(2000000000)
2,00E+9
Voila
?format(20000,"0.00E+")
2,00E+4
En procédant de la sorte :
Public Function strIngenieur(ByVal dblVar As Double) As String
strIngenieur = Format(dblVar, "0.00E+")
End Function
Ca fonctionne :
?strIngenieur(2000000000)
2,00E+9
Voila
Lust
Messages postés
243
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
12 septembre 2007
123
28 sept. 2005 à 14:41
28 sept. 2005 à 14:41
Ben désolé, sais pas quoi c'est ca "Ingénieur"