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

Format cellule personnalisé

7 réponses
Avatar
Olivier
Bonjour,
je voudrais afficher les nombres dans une cellule avec un format
personnalisé mais j'y arrive pas :
Je veux que :
2,51 s'affiche 2,51
3,8 s'affiche 3,80 (deux chiffres après la virgule)
Ca j'y arrive mais ça coince lorsque je veux qu'en plus 6 affiche 6 et pas
6,00.
Si quelqu'un a la solution ...

Merci
Olivier

7 réponses

Avatar
JPMonnier
Bonjour,
Outils/options/Modification
Cocher décimale fixe
place 0
formater tes cellules en nombre
nombre de décimales 2
puis ajouter cette proc dans VBA en feuille concernée

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = 6 Then
Target.NumberFormat = "0"
End If
End Sub
--
Cordialement


"Olivier" a écrit dans le message de
news:49058be9$0$28672$
Bonjour,
je voudrais afficher les nombres dans une cellule avec un format
personnalisé mais j'y arrive pas :
Je veux que :
2,51 s'affiche 2,51
3,8 s'affiche 3,80 (deux chiffres après la virgule)
Ca j'y arrive mais ça coince lorsque je veux qu'en plus 6 affiche 6 et pas
6,00.
Si quelqu'un a la solution ...

Merci
Olivier




Avatar
Olivier
Pardon,
je m'aperçois que je n'ai pas été assez clair.
Je veux :
Si le nombre a deux décimales alors on affiche ce nombre. (17,89 -> 17,89)
Si le nombre a une seule décimale alors on affiche ce nombre avec deux
décimales. (200,1 -> 200,10)
Si le nombre est entier alors on affiche ce nombre (sans double 0) (78 ->
78)
Merci
Olivier



"JPMonnier" a écrit dans le message de news:

Bonjour,
Outils/options/Modification
Cocher décimale fixe
place 0
formater tes cellules en nombre
nombre de décimales 2
puis ajouter cette proc dans VBA en feuille concernée

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = 6 Then
Target.NumberFormat = "0"
End If
End Sub
--
Cordialement


"Olivier" a écrit dans le message de
news:49058be9$0$28672$
Bonjour,
je voudrais afficher les nombres dans une cellule avec un format
personnalisé mais j'y arrive pas :
Je veux que :
2,51 s'affiche 2,51
3,8 s'affiche 3,80 (deux chiffres après la virgule)
Ca j'y arrive mais ça coince lorsque je veux qu'en plus 6 affiche 6 et
pas 6,00.
Si quelqu'un a la solution ...

Merci
Olivier







Avatar
Modeste
Bonsour® JPMonnier avec ferveur ;o))) vous nous disiez :

Outils/options/Modification
Cocher décimale fixe
place 0
formater tes cellules en nombre
nombre de décimales 2
puis ajouter cette proc dans VBA en feuille concernée

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = 6 Then
Target.NumberFormat = "0"
End If
End Sub



Heu ... ???
et si l'on tape autre chose que 6 ????
j'aurai préféré ceci :

Private Sub Worksheet_Change(ByVal Target As Range)
If IsNumeric(Target.Value) Then
If Target = Int(Target) Then
Target.NumberFormat = "0_ _ _ "
' ---- format permettant l'alignement sur les unités
Else
Target.NumberFormat = "0.00"
End If
End If
End Sub

attention !!!!
affichage des dates et % sous format standard (nombre)



--
@+
;o)))
Avatar
JPMonnier
Bonjour Modeste,
tu as très bien adapté ce à quoi j'ai répondu un peu vite
(Avant de poster, je devrais tourner ma langue 7 fois dans la bouche !!!)

--
Cordialement

"Modeste" a écrit dans le message de
news:
Bonsour® JPMonnier avec ferveur ;o))) vous nous disiez :

Outils/options/Modification
Cocher décimale fixe
place 0
formater tes cellules en nombre
nombre de décimales 2
puis ajouter cette proc dans VBA en feuille concernée

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = 6 Then
Target.NumberFormat = "0"
End If
End Sub



Heu ... ???
et si l'on tape autre chose que 6 ????
j'aurai préféré ceci :

Private Sub Worksheet_Change(ByVal Target As Range)
If IsNumeric(Target.Value) Then
If Target = Int(Target) Then
Target.NumberFormat = "0_ _ _ "
' ---- format permettant l'alignement sur les unités
Else
Target.NumberFormat = "0.00"
End If
End If
End Sub

attention !!!!
affichage des dates et % sous format standard (nombre)



--
@+
;o)))
Avatar
Olivier
OK merci !
J'ose une autre question :
Si je veux ce format pour une certaine plage de cellules et non pour la
feuille en entier, c'est le Range qu'il faut que je modifie ?
Par exemple pour les cellules C2:D30 et G2:J40 ?
MErci





"Modeste" a écrit dans le message de news:

Bonsour® JPMonnier avec ferveur ;o))) vous nous disiez :

Outils/options/Modification
Cocher décimale fixe
place 0
formater tes cellules en nombre
nombre de décimales 2
puis ajouter cette proc dans VBA en feuille concernée

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = 6 Then
Target.NumberFormat = "0"
End If
End Sub



Heu ... ???
et si l'on tape autre chose que 6 ????
j'aurai préféré ceci :

Private Sub Worksheet_Change(ByVal Target As Range)
If IsNumeric(Target.Value) Then
If Target = Int(Target) Then
Target.NumberFormat = "0_ _ _ "
' ---- format permettant l'alignement sur les unités
Else
Target.NumberFormat = "0.00"
End If
End If
End Sub

attention !!!!
affichage des dates et % sous format standard (nombre)



--
@+
;o)))
Avatar
JPMonnier
Tu ajoutes cette lignes en début de ta private sub (Celle de Modeste !)

If Union(Target, Range("C2:D30,G2:G40")).Address <>
Range("C2:D30,G2:G40").Address Then Exit Sub
--
Cordialement

"Olivier" a écrit dans le message de
news:4905b796$0$28668$
OK merci !
J'ose une autre question :
Si je veux ce format pour une certaine plage de cellules et non pour la
feuille en entier, c'est le Range qu'il faut que je modifie ?
Par exemple pour les cellules C2:D30 et G2:J40 ?
MErci





"Modeste" a écrit dans le message de news:

Bonsour® JPMonnier avec ferveur ;o))) vous nous disiez :

Outils/options/Modification
Cocher décimale fixe
place 0
formater tes cellules en nombre
nombre de décimales 2
puis ajouter cette proc dans VBA en feuille concernée

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = 6 Then
Target.NumberFormat = "0"
End If
End Sub



Heu ... ???
et si l'on tape autre chose que 6 ????
j'aurai préféré ceci :

Private Sub Worksheet_Change(ByVal Target As Range)
If IsNumeric(Target.Value) Then
If Target = Int(Target) Then
Target.NumberFormat = "0_ _ _ "
' ---- format permettant l'alignement sur les unités
Else
Target.NumberFormat = "0.00"
End If
End If
End Sub

attention !!!!
affichage des dates et % sous format standard (nombre)



--
@+
;o)))




Avatar
Olivier
Merci, c'est exactement ce que je voulais..
Olivier

"JPMonnier" a écrit dans le message de news:

Tu ajoutes cette lignes en début de ta private sub (Celle de Modeste !)

If Union(Target, Range("C2:D30,G2:G40")).Address <>
Range("C2:D30,G2:G40").Address Then Exit Sub
--
Cordialement

"Olivier" a écrit dans le message de
news:4905b796$0$28668$
OK merci !
J'ose une autre question :
Si je veux ce format pour une certaine plage de cellules et non pour la
feuille en entier, c'est le Range qu'il faut que je modifie ?
Par exemple pour les cellules C2:D30 et G2:J40 ?
MErci





"Modeste" a écrit dans le message de news:

Bonsour® JPMonnier avec ferveur ;o))) vous nous disiez :

Outils/options/Modification
Cocher décimale fixe
place 0
formater tes cellules en nombre
nombre de décimales 2
puis ajouter cette proc dans VBA en feuille concernée

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = 6 Then
Target.NumberFormat = "0"
End If
End Sub



Heu ... ???
et si l'on tape autre chose que 6 ????
j'aurai préféré ceci :

Private Sub Worksheet_Change(ByVal Target As Range)
If IsNumeric(Target.Value) Then
If Target = Int(Target) Then
Target.NumberFormat = "0_ _ _ "
' ---- format permettant l'alignement sur les unités
Else
Target.NumberFormat = "0.00"
End If
End If
End Sub

attention !!!!
affichage des dates et % sous format standard (nombre)



--
@+
;o)))