OVH Cloud OVH Cloud

Format à 7 chiffres

4 réponses
Avatar
cpalo
Bonjour,
Existe -t-il une possibilité de format personnalisé pour qu'un nombre soit
automatiquement transformé en un nombre à 7 chiffres en le complétant à
droite par des zéros.
Exemples :
603 donnerait 6 030 000
6042 6 042 000
60688 6 688 800

Merci

4 réponses

Avatar
RaMa
Bojour
format j'sais pas
mais fonction
Ä&REPT("0";MAX(0;7-NBCAR(C4)))
Si ça peut t'aider
RaMa

"cpalo" a écrit dans le message de
news:
Bonjour,
Existe -t-il une possibilité de format personnalisé pour qu'un nombre soit
automatiquement transformé en un nombre à 7 chiffres en le complétant à
droite par des zéros.
Exemples :
603 donnerait 6 030 000
6042 6 042 000
60688 6 688 800

Merci




Avatar
cpalo
Merci,
j'avais imaginé une formule pour faire cette transformation dans une autre
colonne.
Mais je vais essayer vos solutions qui sont plus "jolies" que celle que
j'avais imaginé.
Merci
Bon dimanche

"Michel Gaboly" a écrit dans le message de news:

Bonjour,

Non, car un format ne modifie pas la valeur d'une cellule ; il se
contente d'en gérer l'apparence.

Or rajouter n zéros (avant la virgule, c'est multiplier par 10
puissance n.

Par contre, il est possible d'utiliser une procédure événemen-
tielle, qui complète la saisie. Pour cela entre le code ci-dessous
dans le module de la feuille concernée :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If IsNumeric(c) Then
If Int(c) = c And c < 10 ^ 6 Then
c = c * 10 ^ (7 - Len(c))
End If
End If
Next c
End Sub


Le principe est de traiter les cellules numériques, entières et
ne comportant pas plus de 6 chiffres (s'il le nombre comporte
7 chiffres, il n'y a rien à compléter, et 8 ou +, on ne peut pas
rajouter des 0 pour atteindre 7 chiffres).

Pour limiter l'effet à une plage de cellules, B1:B10 par exemple,
il faut rajouter un test :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If Not Intersect(c, Range("B1:B10")) Is Nothing Then
If IsNumeric(c) Then
If Int(c) = c And c < 10 ^ 6 Then
c = c * 10 ^ (7 - Len(c))
End If
End If
End If
Next c
End Sub



Bonjour,
Existe -t-il une possibilité de format personnalisé pour qu'un nombre
soit


automatiquement transformé en un nombre à 7 chiffres en le complétant à
droite par des zéros.
Exemples :
603 donnerait 6 030 000
6042 6 042 000
60688 6 688 800

Merci


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





Avatar
Michel Gaboly
Bonjour,

Non, car un format ne modifie pas la valeur d'une cellule ; il se
contente d'en gérer l'apparence.

Or rajouter n zéros (avant la virgule, c'est multiplier par 10
puissance n.

Par contre, il est possible d'utiliser une procédure événemen-
tielle, qui complète la saisie. Pour cela entre le code ci-dessous
dans le module de la feuille concernée :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If IsNumeric(c) Then
If Int(c) = c And c < 10 ^ 6 Then
c = c * 10 ^ (7 - Len(c))
End If
End If
Next c
End Sub


Le principe est de traiter les cellules numériques, entières et
ne comportant pas plus de 6 chiffres (s'il le nombre comporte
7 chiffres, il n'y a rien à compléter, et 8 ou +, on ne peut pas
rajouter des 0 pour atteindre 7 chiffres).

Pour limiter l'effet à une plage de cellules, B1:B10 par exemple,
il faut rajouter un test :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If Not Intersect(c, Range("B1:B10")) Is Nothing Then
If IsNumeric(c) Then
If Int(c) = c And c < 10 ^ 6 Then
c = c * 10 ^ (7 - Len(c))
End If
End If
End If
Next c
End Sub



Bonjour,
Existe -t-il une possibilité de format personnalisé pour qu'un nombre soit
automatiquement transformé en un nombre à 7 chiffres en le complétant à
droite par des zéros.
Exemples :
603 donnerait 6 030 000
6042 6 042 000
60688 6 688 800

Merci


--
Cordialement,

Michel Gaboly
http://www.gaboly.com

Avatar
Michel Gaboly
De rien, ;-))

Si ce n'est pas assez clair, n'hésite pas à demander un complément d'info.



Merci,
j'avais imaginé une formule pour faire cette transformation dans une autre
colonne.
Mais je vais essayer vos solutions qui sont plus "jolies" que celle que
j'avais imaginé.
Merci
Bon dimanche

"Michel Gaboly" a écrit dans le message de news:

Bonjour,

Non, car un format ne modifie pas la valeur d'une cellule ; il se
contente d'en gérer l'apparence.

Or rajouter n zéros (avant la virgule, c'est multiplier par 10
puissance n.

Par contre, il est possible d'utiliser une procédure événemen-
tielle, qui complète la saisie. Pour cela entre le code ci-dessous
dans le module de la feuille concernée :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If IsNumeric(c) Then
If Int(c) = c And c < 10 ^ 6 Then
c = c * 10 ^ (7 - Len(c))
End If
End If
Next c
End Sub


Le principe est de traiter les cellules numériques, entières et
ne comportant pas plus de 6 chiffres (s'il le nombre comporte
7 chiffres, il n'y a rien à compléter, et 8 ou +, on ne peut pas
rajouter des 0 pour atteindre 7 chiffres).

Pour limiter l'effet à une plage de cellules, B1:B10 par exemple,
il faut rajouter un test :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If Not Intersect(c, Range("B1:B10")) Is Nothing Then
If IsNumeric(c) Then
If Int(c) = c And c < 10 ^ 6 Then
c = c * 10 ^ (7 - Len(c))
End If
End If
End If
Next c
End Sub



Bonjour,
Existe -t-il une possibilité de format personnalisé pour qu'un nombre
soit


automatiquement transformé en un nombre à 7 chiffres en le complétant à
droite par des zéros.
Exemples :
603 donnerait 6 030 000
6042 6 042 000
60688 6 688 800

Merci


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





--
Cordialement,

Michel Gaboly
http://www.gaboly.com