Format mode ingenieur pour VBA
Résolu
uid25348
Messages postés
4
Statut
Membre
-
anonymous -
anonymous -
Bonjour
Quelqu'un peut il me dire comment fait on pour afficher dans une variable string un nombre au format ingenieur ? multiple de 3 .
Par exemple : je veux afficher
200000 sous la forme de 200 E+3
ou 0.01 sous forme 10 E -3
J'ai essayé avec format(var,"##.##E+") ,cela fonctionne mais ce n'est pas au multiple de 3 , E+3 ou E+6 ou E-6 ect ...
Merci d'avance pour votre réponse
Quelqu'un peut il me dire comment fait on pour afficher dans une variable string un nombre au format ingenieur ? multiple de 3 .
Par exemple : je veux afficher
200000 sous la forme de 200 E+3
ou 0.01 sous forme 10 E -3
J'ai essayé avec format(var,"##.##E+") ,cela fonctionne mais ce n'est pas au multiple de 3 , E+3 ou E+6 ou E-6 ect ...
Merci d'avance pour votre réponse
A voir également:
- Format mode ingenieur pour VBA
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Mode avion - Guide
- Hp usb disk storage format tool - Télécharger - Stockage
- 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.
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 !