rajouter des 0 dans une cellule

koewin

XLDnaute Junior
Bonjour,

comment formater une colonne pour que les nombres apparaissent toujours avec 6 caractères.

Ex : j'ai 161 et je veux obtenir 161 000 (ce sont des codes comptables)
j'ai 161 000, cela reste comme ça.

Y a-t-il une méthode avec les formats personnalisés des cellules ?

Merci d'avance.

Cdt

Koewin
 

koewin

XLDnaute Junior
Re : rajouter des 0 dans une cellule

Merci de ta réponse.

Cela marche si ma cellule a seulement 161 (elle se transforme en 161 000).

Maintenant, quand on importe nos factures, certaines ont des codes abrégés en 161 et d'autres déjà le code complet 161 000. dans ce dernier cas, ton format me transforme 161 000 en 161 000 000. Pas bon :)

Une idée pour résoudre ça ?

Merci.

koewin
 

Hulk

XLDnaute Barbatruc
Re : rajouter des 0 dans une cellule

Hello Koewin, ami Kjin,

Kjin j'ai failli proposer la même soluce, mais le blème est que si il saisit -> 161 000 il aura -> 161 000 000 et lui veut que ça reste 161 000 si il saisit 161 000

Ou alors ça marche mais faut bien qu'il fasse 161espace000...

Tu me suis :D

Cdt, Hulk.

Edit : Voilà :D

Koewin saisit bien 161espace000 peut-être que ça te vas...

Si non faudra un truc un poil plus complexe...
 

hoerwind

XLDnaute Barbatruc
Re : rajouter des 0 dans une cellule

Bonjour,

Il me semble qu'il n'y a pas de solution par format à cette question.
Comme son nom l'indique, un format ne fait que modifier le format, mais pas la valeur.
Donc modifier 161 en format 161 000 ne permettra pas de faire une recherche ou un calcul sur 161 000, uniquement sur 161.

Par colonne supplémentaire c'est faisable : saisir 161 en colonne A et obtenir 161 000 en colonne B :
=--(A1&REPT(0;6-nbcar(A1))) au format # ##0
 

alex67800

XLDnaute Impliqué
Re : rajouter des 0 dans une cellule

Bonjour koewin, Hulk, kjin, le forum,

Une solution avec VBA
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim plage As Range, cell As Range
Dim wsbd As Worksheet
Set wsbd = Sheets("Feuil1")
Set plage = wsbd.Range("A1:A" & wsbd.Range("A65536").End(xlUp).Row)
For Each cell In plage
If cell.Value < 10000 Then cell.NumberFormat = "0"" 000"""
Next cell

End Sub

Si les valeurs sont inférieur à 10 000, alors on applique la mise en forme sinon on fait rien.

Regarde si cela te convient.
 

job75

XLDnaute Barbatruc
Re : rajouter des 0 dans une cellule

Bonjour,

Peut-être, s'il n'y a pas toujours au moins 3 caractères :

=--(A1&REPT("000";NBCAR(A1)<4))

ou mieux :

=--(A1&REPT("000";DROITE(A1)<>"000"))

Edit : salut alex67800

A+
 
Dernière édition:

alex67800

XLDnaute Impliqué
Re : rajouter des 0 dans une cellule

re le forum,

remarque interessante de hoerwind que je salue au passage.

Dans ce cas faire plus tôt comme ceci:
Code:
For Each cell In plage
If cell.Value < 1000 And cell.Value < 10000 Then cell.Value = cell.Value * 1000
Next cell

Edit: Salut job75, j'aime bien les macros moi ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 336
Messages
2 087 389
Membres
103 534
dernier inscrit
Kalamymustapha