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

Convertir 0,5 en 0,50 ou un autre chiffre

9 réponses
Avatar
lograd
Bonjour =E0 tous, j'aimerai savoir s'il =E9tait possible de convertir en
une seul fois une serie de chiffre de la forme 0,5 en 0,50 ( et que le
z=E9ro apr=E8s la virgule reste affich=E9).
il y a bien sur la solution 'format de cellule' puis 'texte', ok.
Mais quand tout les chiffres d'une colonne sont d=E9ja remplis et que je
cherche =E0 les convertir comme sit=E9 pr=E9c=E9dement.
Quelqu'un aurait il une solution en VBA ?
Merci d'avance.

9 réponses

Avatar
Garette
Bonsoir,

Selectionner la zone à traiter puis,
Format/Cellule/Nombre et choisir 2 décimales ou mettre le format : 0,00
dans Personnalisé ?

Pourquoi parles tu de Format Texte ?
Avatar
lograd
Bonsoir,
je parle de format text car en utilisant cette methode
Format/Cellule/Nombre et choisir 2 décimales ou mettre le format :
0,00, j'obtiens 2 chiffres après la virgule mais pour des chiffres
tels que 0,50 le zéro disparait.
Et je veux conserver dans ma cellule le 0 après le 5.
donc voir : 0,50 et non 0,5.


Bonsoir,

Selectionner la zone à traiter puis,
Format/Cellule/Nombre et choisir 2 décimales ou mettre le format : 0,00
dans Personnalisé ?

Pourquoi parles tu de Format Texte ?


Avatar
Garette
Re,

Je ne comprends pas tout ou il me manque une info ...
Si tu mets le format 0,00 la cellule affiche 0,50 mais la barre de formule
affiche 0,5
C'est ça le pb ?
Tu veux 0,50 dans la barre de formule et 0,50 dans la cellule.

Si c'est ça, effectivement le format texte s'impose mais les données auront
un comportement différent.

Dans une colonne à coté des données à convertir, taper en B1 avec donnée en
A1 (par exemple) :
=TEXTE(A1;"0,00")
- Recopier la formule vers le bas
- Selectionner les données obtenues
- Copier/Collage Special Valeur (par dessus ou dans une autre zone)

Les données seront formatées avec 2 chiffres apres la virgule et seront en
format texte.
Avatar
lograd
Bonsoir,
tu as tout compris, je vais essayer ce que tu à dis .
Et merci.


Re,

Je ne comprends pas tout ou il me manque une info ...
Si tu mets le format 0,00 la cellule affiche 0,50 mais la barre de formule
affiche 0,5
C'est ça le pb ?
Tu veux 0,50 dans la barre de formule et 0,50 dans la cellule.

Si c'est ça, effectivement le format texte s'impose mais les données auront
un comportement différent.

Dans une colonne à coté des données à convertir, taper en B1 avec donnée en
A1 (par exemple) :
=TEXTE(A1;"0,00")
- Recopier la formule vers le bas
- Selectionner les données obtenues
- Copier/Collage Special Valeur (par dessus ou dans une autre zone)

Les données seront formatées avec 2 chiffres apres la virgule et sero nt en
format texte.


Avatar
lograd
Encore merci pour l'astuce, impeccable.
Mais serait il possible de créer un code VBA et un bouton qui
m'execute les mêmes opérations de maniere automatique.
C'est a dire a la fin la recopie sur les anciennes cellules de la
nouvelle valeur.
Merci d'avance.
Avatar
Garette
Bonjour,

La macro suivante convertit la selection en cours :

Sub NbTexte()
For Each x In Selection
x.Value = Format(x.Value, "0.00")
Next
End Sub

ou

Sub NbTexte2()
For Each x In Selection
x.Value = Format(x.Value, "0.00")
Next
End Sub



Il suffit ensuite de l'affecter à un bouton dans la feuille de calcul ou
dans la barre d'outils.
Avatar
lSteph
Bonjour,
Attention qu'il n'y ait pas de dates dans la sélection:

Sub NbDec2()
Dim c As Range

For Each c In Selection.Cells
If Not IsEmpty(c) Then
On Error Resume Next
c = CDbl(c) * 1
On Error GoTo 0
c.NumberFormat = "0.00"
End If
Next

End Sub

'Cdlt.
'lSteph.


Bonjour à tous, j'aimerai savoir s'il était possible de convertir en
une seul fois une serie de chiffre de la forme 0,5 en 0,50 ( et que le
zéro après la virgule reste affiché).
il y a bien sur la solution 'format de cellule' puis 'texte', ok.
Mais quand tout les chiffres d'une colonne sont déja remplis et que je
cherche à les convertir comme sité précédement.
Quelqu'un aurait il une solution en VBA ?
Merci d'avance.


Avatar
lograd
Merci à vous deux pour votre aide.
je vais essayer les macros, et je vous tiens au courant.
Mais vraiment vous êtes très fort et réactifs. merci.


Bonjour,
Attention qu'il n'y ait pas de dates dans la sélection:

Sub NbDec2()
Dim c As Range

For Each c In Selection.Cells
If Not IsEmpty(c) Then
On Error Resume Next
c = CDbl(c) * 1
On Error GoTo 0
c.NumberFormat = "0.00"
End If
Next

End Sub

'Cdlt.
'lSteph.


Bonjour à tous, j'aimerai savoir s'il était possible de convertir en
une seul fois une serie de chiffre de la forme 0,5 en 0,50 ( et que le
zéro après la virgule reste affiché).
il y a bien sur la solution 'format de cellule' puis 'texte', ok.
Mais quand tout les chiffres d'une colonne sont déja remplis et que je
cherche à les convertir comme sité précédement.
Quelqu'un aurait il une solution en VBA ?
Merci d'avance.




Avatar
lograd
Merci Garette, c'est exactement ce qu'il me fallait.
Si j'ose on peu modifier la ligne :

x.Value = Format(x.Value, "0.00")

Par :

x.Value = Format(x.Value, "# ##0.00")
Pour generaliser a des chiffres plus grand et conserver le separateur
des milliers.
Encore merci.



Bonjour,

La macro suivante convertit la selection en cours :

Sub NbTexte()
For Each x In Selection
x.Value = Format(x.Value, "0.00")
Next
End Sub

ou

Sub NbTexte2()
For Each x In Selection
x.Value = Format(x.Value, "0.00")
Next
End Sub



Il suffit ensuite de l'affecter à un bouton dans la feuille de calcul ou
dans la barre d'outils.