Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Formater un nombre en Ohm (Ω)

22 réponses
Avatar
Apitos
Bonjour =C3=A0 tous,

Comment avoir un format g=C3=A9n=C3=A9ral pour afficher tout les cas possib=
les de valeurs en ohm ?

- Valeur de x < 1000 =3D x =CE=A9
- Valeur de x > 1000 et < 10000 =3D x K=CE=A9
- Valeur de x > 100000 =3D x M=CE=A9

Une autre condition :

- Si la valeur de x et d=C3=A9cimale on affichera x,xx sinon on affichera x=
sans virgule.

Merci d'avance.

10 réponses

1 2 3
Avatar
MichD
Bonjour,

Le mieux qu'Excel peut faire en utilisant la fenêtre des formats de
cellules pour un formt personnalisé :

[<1000]##0,##" Ω";[<100000]# ##0,##" KΩ";# ### ##0,##" MΩ";

Le hic, tu auras un affichage de la virgule lorsque le nombre n'a pas de
décimale.

Au-delà de cela, tu devras avoir recours à une macro ou une procédure
événementielle.

MichD
Avatar
Apitos
Bonsjour MichD,

Apres testes, voila les résultats obtenus avec le format proposé :

1 => 1, Ω
10 => 10, Ω
13,65 => 13,65 Ω
1200 => 1 200, KΩ
1000000 => 1 000 000, MΩ
Avatar
pom...pom...pom..
Bonsjour MichD,
Apres testes, voila les résultats obtenus avec le format proposé :
1 => 1, Ω
10 => 10, Ω
13,65 => 13,65 Ω
1200 => 1 200, KΩ
1000000 => 1 000 000, MΩ
'*************************
il est probable que le browser ait supprimé des espaces

[<1000]0,##" Ω";[<100000]# ##0,##_" KΩ";# ### ##0,##__" MΩ"
pas d'espace devant : " Ω"
un espace devant : " KΩ"
2 espace devant : " MΩ"
Avatar
Apitos
Bonjour pom...pom...pom..

Merci pour la rectification.

Reste le probleme, comme à dit MichD, pour l'affichage de la virgule pour les valeurs des chiffres entiers.
Avatar
pom...pom...pom..
Bonsour®

"Apitos" a écrit dans le message de groupe de discussion :


Bonjour pom...pom...pom..

Merci pour la rectification.

Reste le probleme, comme à dit MichD, pour l'affichage de la virgule pour les
valeurs des chiffres entiers.

utiliser alors une MEFC : condition : ent(x)=x
Avatar
HB
Bonjour,

Plus problématique que la présence ou pas d'une virgule est le respect
de l'unité. Je doute fort qu'un format personnalisé, aussi rusé soit-il,
règle ce problème.

Il faut selon le cas, diviser par 10^3 ou 10^6
puis arrondir si nécessaire avec (au plus ?) deux chiffres après la virgule.

La question initiale est à ce propos un peu imprécise :

Que doit donner 2 300 Ω
2,3 kΩ ou bien 2,30 kΩ ?


Tout dépend à mon avis de l'utilisation future du contenu de la cellule.
Si les valeurs ne doivent pas être utilisées ensuite (ce qui serait
surprenant puisque l'unité sera variable ...) il me semble plus simple
de fabriquer une petite fonction personnalisée qui fabrique du texte
avec la bonne unité :

C'est à mettre dans un module

La fonction fait un test avec VarType() pour vérifier que la valeur
transmise est un nombre ...
Le cas Vartype= 20 n'a de sens que pour les version 64b je pense...
(valeurs de type "longlong")

Pour oméga j'utilise le code unicode.

Public Function Ohm(X As variant) As String

Select Case VarType(X)
Case 2 To 6, 14, 17, 20

If X >= 10 ^ 6 Then
Y = Int(X / 10 ^ 4) / 100
Ohm = CStr(Y) + " M" + ChrW(&H3A9)
ElseIf X >= 1000 Then
Y = Int(X / 10) / 100
Ohm = CStr(Y) + " k" + ChrW(&H3A9)
Else
Y = Int(100 * X) / 100
Ohm = CStr(Y) + " " + ChrW(&H3A9)
End If

Case Else

Ohm = CVErr(xlErrValue)

End Select

End Function


Le 15/03/2016 21:11, MichD a écrit :

Bonjour,

Le mieux qu'Excel peut faire en utilisant la fenêtre des formats de
cellules pour un formt personnalisé :

[<1000]##0,##" Ω";[<100000]# ##0,##" KΩ";# ### ##0,##" MΩ";

Le hic, tu auras un affichage de la virgule lorsque le nombre n'a pas de
décimale.

Au-delà de cela, tu devras avoir recours à une macro ou une procédure
événementielle.

MichD





---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
HB
Corrections :

- Ajouter 1/2 dans les trois fonctions INT()
pour obtenir la valeur arrondie "au plus proche"


- Déclarer la valeur retournée en Variant
puisque cela peut être une valeur de type "erreur"...


Public Function Ohm(X As variant) As variant

Select Case VarType(X)
Case 2 To 6, 14, 17, 20

If X >= 10 ^ 6 Then
Y = Int(1/2 + X / 10 ^ 4) / 100
Ohm = CStr(Y) + " M" + ChrW(&H3A9)
ElseIf X >= 1000 Then
Y = Int(1/2 + X / 10) / 100
Ohm = CStr(Y) + " k" + ChrW(&H3A9)
Else
Y = Int(1/2 + 100 * X) / 100
Ohm = CStr(Y) + " " + ChrW(&H3A9)
End If

Case Else

Ohm = CVErr(xlErrValue)

End Select

End Function


Bien cordialement,

HB



---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
DanielCo
Bonjour,
Avec 6 formats conditionnels :
3 pour les entiers :
=ET($A$1<1000;$A$1=ENT($A$1)), format : #" o" (remplacer "o" par "omega"
=ET($A$1>00;$A$1=ENT($A$1);$A$1<1000000) format : #.## " Ko"
=ET($A$1>00000;$A$1=ENT(A1)), format #.## "Mo".
en faire 3 pour les décimales.
Daniel

Bonjour à tous,

Comment avoir un format général pour afficher tout les cas possibles de
valeurs en ohm ?

- Valeur de x < 1000 = x Ω
- Valeur de x > 1000 et < 10000 = x KΩ
- Valeur de x > 100000 = x MΩ

Une autre condition :

- Si la valeur de x et décimale on affichera x,xx sinon on affichera x sans
virgule.

Merci d'avance.
Avatar
HB
Bonsoir,

Modifications pour clarifier les histoires d'arrondis :o)


Public Function Ohm(X As Variant) As Variant

Select Case VarType(X)
Case 2 To 6, 14, 17, 20

If X >= 10 ^ 6 Then
Y = WorksheetFunction.Round(X / 10 ^ 6, 2)
Ohm = CStr(Y) + " M" + ChrW(&H3A9)
ElseIf X >= 1000 Then
Y = WorksheetFunction.Round(X / 10 ^ 3, 2)
Ohm = CStr(Y) + " k" + ChrW(&H3A9)
Else
Y = WorksheetFunction.Round(X, 2)
Ohm = CStr(Y) + " " + ChrW(&H3A9)
End If
Case Else

Ohm = CVErr(xlErrValue)

End Select

End Function


Cordialement,

H.B.



---
L'absence de virus dans ce courrier électronique a été và ©rifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
Apitos
Bonjour HB, DanielCo,

Merci pour vos réponses.

Seulement pour les formules, je ne peux avoir le formatage au moment de la saisie. Il faudra une colonne intermédiaire pour l'avoir.

Pour le MFC, j'ai essayé d'appliquer les formules proposées, mais je n' ai pas eu le résultat voulu !

Les essais en PJ :

http://www.cjoint.com/c/FCqsvXxqAs7
1 2 3