Degrés en format personnalisé

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 !

Magic_Doctor

XLDnaute Barbatruc
Supporter XLD
Bonjour,

Une question toute bête. J'essaie, dans le format personnalisé, d'attribuer le symbole degré (º) à mon résultat.
Bon, d'accord, j'ai un clavier en espagnol. Quand je mets "º", qui se trouve à l'extrême gauche de clavier, appararaìt dans le résultat "º" mais avec un tiret au-dessous ; ce qui n'a évidemment rien à voir concernant la symbolisation des degrés quels qu'ils soient.
Merci d'avance pour me donner un tuyau.
 
Re : Degrés en format personnalisé

Bonsoir Modeste geedee, mapomme,

En effet, plutôt que de tout simplement taper "Alt + 0176" je m'entètais en voulant intercaler, sans succès bien sûr, Chr(176).
Bon, maintenant ça marche très bien.
En revanche, dans le formatage, si j'écris : 0"º C" et qu'en suite dans la cellule concernée je rentre, par exemple, 30,5, j'obtiens : 30º.
Maintenant je formate ainsi : 0,0"º C" et en suite je rentre 30,5, j'obtiens bien 30,5º C. Mais si j'écris 30, j'aurai alors 30,0º C. Il y aurait-il un moyen, dans le formatage, pour stipuler que si le chiffre est entier on ne désire pas d'un 0 superfétatoire après la virgule ?


Amigos, buenas noches
 
Re : Degrés en format personnalisé

Bonjour
Le format de nombre suivant marche quand même :
Standard"°"
Où Standardo"°" ?…

Il y a aussi :
0,??"°"
Mais s'il n'y a pas alors comme vous dites de 0 superfétatoire derrière la virgule, la virgule reste néanmoins.
Ah, ces américains… Il n'ont jamais compris que ce n'est pas un autre caractère que nous avons pris comme séparateur décimal, mais un autre signe de ponctuation ! Mais chez nous comme chez eux la virgule sert à annoncer une suite, pas à terminer quelque chose.
 
Dernière édition:
Re : Degrés en format personnalisé

En effet, les Zuniens sont déconcertants. Logiques bien souvent, déconcertants par moments... Réfractaires au système métrique, conservant des unités obsolètes et incompréhensibles, persistant à utiliser pour les concentrations des habitudes quasi alchimiques (masse/volume par exemple, alors que seul le masse/masse est cohérent). En revanche, quand ils font de l'anatomie en latin, cela me semble une excellente habitude, au moins tout le monde se comprend !
Pour revenir à nos moutons, je pensais que peut-être l'on pourrait mettre une condition dans le formatage (je sais que parfois c'est possible), du genre "si entier 0"º C", si décimal 0,0"º C".
Mais, c'est pas grave.

Bonne journée.
 
Re : Degrés en format personnalisé

Bonjour Magic_Doctor, le fil,

Un p'tit coup de VBA ne mange pas de pain :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Set r = Intersect(Target, [A:A], Me.UsedRange) 'colonne A
If Not r Is Nothing Then
  For Each r In r
    If IsNumeric(CStr(r)) Then _
      r.NumberFormat = IIf(Int(r) = r, "0", "0.0") & "°C"
  Next
End If
End Sub
A+
 
Re : Degrés en format personnalisé

Bonjour job, Dranreb,

Job, tu as 1000 fois raisons, avec VBA on résoud tout ou presque. En fait, je voulais adresser à ma fille un petit exemple de l'utilité des fonctions personnalisées. Pour faire simple et pratique j'avais décidé de lui montrer, comme exemples simples et utiles, des fonctions qui convertissent les degrés Celsius en degrés bizarroïdes (Fahrenheit) et les prix HT et TTC. C'est quand même mieux, comme exemples, que de pouvoir calculer ipso facto la surface d'une ellipse...
J'ai, au départ, voulu faire simple en pensant, naïvement, qu'avec le formatage je pourrais lui envoyer un exemple digne d'un papa "accro" à Excel Downloads. Nenni ! L'aréopage de cerveaux distingués de chez Microsoft n'a jamais envisagé l'anihilation d'une virgule devenue parfois inutile. N'est pas latin qui veut...
Ta solution lui permettra au moins de mieux comprendre les limites d'Excel "tout-cru-servi-sur-un-plateau-avec-les-instruments-du-bord" et de l'utilité de ce que l'on appelle les macros événementielles quand le besoin s'en fait sentir.
En revanche, si tu me lis, por favor (pliiiiise) kézako "Me.UsedRange" ? Je l'ai omis dans la PJ et ça marche quand même très bien.

Muy buenas tardes a todos.
 

Pièces jointes

Dernière édition:
Re : Degrés en format personnalisé

salut

Si... le papa est "accro", il pourrait être titillé par ces remarques :

- le pendant de "Exit Sub" est "Exit Function" ; cela permet d'éviter des "Goto"
Code:
Function CelsiusToFahrenheit(Celsius) As String
  If Celsius = "" Then Exit Function
  CelsiusToFahrenheit = Round(Celsius * 1.8 + 32, 1) & " °F"
End Function

- pour l'évenementielle sans "Union" et avec "Range"

Code:
Private Sub Worksheet_Change(ByVal R As Range)
  If Intersect(R, Range("B:B, E:E")) Is Nothing Then Exit Sub
  If IsNumeric(R) Then R.NumberFormat = IIf(Int(R) = R, "0", "0.0") & IIf(R.Column = 2, "°C", "°F")
End Sub
- les arrondis ne valent que ce qu'ils valent comme dans le fichier joint.
 

Pièces jointes

Re : Degrés en format personnalisé

Bonjour Magic_Doctor, le fil,

kézako "Me.UsedRange" ? Je l'ai omis dans la PJ et ça marche quand même très bien.

Oui mais cela permet de limiter la plage à étudier.

Utilise Set r = Intersect(Target, [A:A]), sélectionne toute la colonne A et efface-la.

Cela prendra un certain temps car toutes les cellules de la colonne A seront étudiées.

A+
 
Re : Degrés en format personnalisé

Bonsoir job, Si...,

En effet job, j'ai bien vu la différence ; en rajoutant "Me.UsedRange" c'est instantané.
Merci Si... pour cette concision. En effet, "Exit Function" est nettement plus court.
Quant aux arrondis, en effet on peut avoir des surprises, mais ici ça fera l'affaire, le 1/10ème de Fahrenheit... c'est pas bien grave.

Bonne soirée à tous.
 
- 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
Retour