OVH Cloud OVH Cloud

Formatage de cellule

22 réponses
Avatar
Alpha
Bonjour,
je souhaite formater une cellule sachant que d'un côté j'ai des chiffres et
une lettre, je saisi souvent ce type chiffres + une lettre à la fin.
ex : 52 566 12563 B
Merci
Alpha

10 réponses

1 2 3
Avatar
Jacky
Re
ex : 52 566 12563 B
ex : 25365 56 45612 T
????
Quel est le format exact que tu souhaites et quel est le nombre max. de
chiffres et de lettres????
JJ


"Alpha" a écrit dans le message news:

Euh, désolé ChrisV
en fait, j'ai essayé en adaptant à mon cas, ex : 12220 45 231456 T
Cela ne fonctionne pas, j'ai nommé la plage de cellules Zn de A1:A15
Alpha


"ChrisV" a écrit dans le message de
news:
Re,

En supposant que la plage de saisie se nomme Zn.
Dans la feuille de code de l'onglet concerné:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim alP As String, nuM As String
On Error Resume Next
If Not Intersect(Target, Range("Zn")) Is Nothing Then
Application.EnableEvents = False
alP = Right(Target.Value, 1)
nuM = Application.Text(Replace(Target.Value, alpha, ""), _
"00 000 00000 ")
Target.Value = nuM & alP
Application.EnableEvents = True
End If
End Sub


ChrisV


"Alpha" a écrit dans le message de news:
#5#
Salut chrisV
en fait, je désire saisir directement dans une cellule , j'ai essayé
des



"##" et ?
Cela ne fonctionne pas.

"ChrisV" a écrit dans le message de
news:%
Bonjour Alpha,

En supposant que la cellule A1 contienne le chiffre et B1 la lettre:
=TEXTE(A1;"00"" ""000"" ""00000"" """)&B1


ChrisV


"Alpha" a écrit dans le message de news:
O$
Bonjour,
je souhaite formater une cellule sachant que d'un côté j'ai des
chiffres



et
une lettre, je saisi souvent ce type chiffres + une lettre à la
fin.





ex : 52 566 12563 B
Merci
Alpha




















Avatar
Alpha
Merci Jacky, en fait voilà le format ainsi que le type que je dois saisir
dans la colonne A1:A1000
Exemple : 25644 56 256365 T le pb c'est qu' il y a obligatoirement une
lettre à la fin de saisie, je souhaite donc formater la cellule afin de
faciliter la saisie
Alpha


"Jacky" <news.microsoft.com> a écrit dans le message de
news:
Re
ex : 52 566 12563 B
ex : 25365 56 45612 T
????
Quel est le format exact que tu souhaites et quel est le nombre max. de
chiffres et de lettres????
JJ


"Alpha" a écrit dans le message news:

Euh, désolé ChrisV
en fait, j'ai essayé en adaptant à mon cas, ex : 12220 45 231456 T
Cela ne fonctionne pas, j'ai nommé la plage de cellules Zn de A1:A15
Alpha


"ChrisV" a écrit dans le message de
news:
Re,

En supposant que la plage de saisie se nomme Zn.
Dans la feuille de code de l'onglet concerné:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim alP As String, nuM As String
On Error Resume Next
If Not Intersect(Target, Range("Zn")) Is Nothing Then
Application.EnableEvents = False
alP = Right(Target.Value, 1)
nuM = Application.Text(Replace(Target.Value, alpha, ""), _
"00 000 00000 ")
Target.Value = nuM & alP
Application.EnableEvents = True
End If
End Sub


ChrisV


"Alpha" a écrit dans le message de news:
#5#
Salut chrisV
en fait, je désire saisir directement dans une cellule , j'ai essayé
des



"##" et ?
Cela ne fonctionne pas.

"ChrisV" a écrit dans le message de
news:%
Bonjour Alpha,

En supposant que la cellule A1 contienne le chiffre et B1 la
lettre:





=TEXTE(A1;"00"" ""000"" ""00000"" """)&B1


ChrisV


"Alpha" a écrit dans le message de news:
O$
Bonjour,
je souhaite formater une cellule sachant que d'un côté j'ai des
chiffres



et
une lettre, je saisi souvent ce type chiffres + une lettre à la
fin.





ex : 52 566 12563 B
Merci
Alpha
























Avatar
ChrisV
Re,

Cela ne fonctionne pas


Si si... reprends ton exemple initial.


j'ai essayé en adaptant à mon cas, ex : 12220 45 231456 T


Sauf que le premier cas exposé était 52 566 12563 B !!!
:-(

Le nombre est-il composé de 10 (comme dans le 1e cas) ou de 13 chiffres ?

Egalement,

1e cas formatage sous la forme:
2 chiffres espace 3 chiffres espace 5 chiffres espace lettre

2e cas
5 chiffres espace 2 chiffres espace 6 chiffres espace lettre

On ne peut pas vraiment dire que cela soit identique, il faudrait des
précisions pour savoir sur quel pied danser...


ChrisV


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

Euh, désolé ChrisV
en fait, j'ai essayé en adaptant à mon cas, ex : 12220 45 231456 T
Cela ne fonctionne pas, j'ai nommé la plage de cellules Zn de A1:A15
Alpha


"ChrisV" a écrit dans le message de
news:
Re,

En supposant que la plage de saisie se nomme Zn.
Dans la feuille de code de l'onglet concerné:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim alP As String, nuM As String
On Error Resume Next
If Not Intersect(Target, Range("Zn")) Is Nothing Then
Application.EnableEvents = False
alP = Right(Target.Value, 1)
nuM = Application.Text(Replace(Target.Value, alpha, ""), _
"00 000 00000 ")
Target.Value = nuM & alP
Application.EnableEvents = True
End If
End Sub


ChrisV


"Alpha" a écrit dans le message de news:
#5#
Salut chrisV
en fait, je désire saisir directement dans une cellule , j'ai essayé
des



"##" et ?
Cela ne fonctionne pas.

"ChrisV" a écrit dans le message de
news:%
Bonjour Alpha,

En supposant que la cellule A1 contienne le chiffre et B1 la lettre:
=TEXTE(A1;"00"" ""000"" ""00000"" """)&B1


ChrisV


"Alpha" a écrit dans le message de news:
O$
Bonjour,
je souhaite formater une cellule sachant que d'un côté j'ai des
chiffres



et
une lettre, je saisi souvent ce type chiffres + une lettre à la
fin.





ex : 52 566 12563 B
Merci
Alpha




















Avatar
Jacky
ex : 52 566 12563 B
ex : 25365 56 45612 T
ex: 25644 56 256365 T
?????????
Je réitère ma question... Quel format????
JJ
"Alpha" a écrit dans le message news:
u28Lt#
Merci Jacky, en fait voilà le format ainsi que le type que je dois saisir
dans la colonne A1:A1000
Exemple : 25644 56 256365 T le pb c'est qu' il y a obligatoirement une
lettre à la fin de saisie, je souhaite donc formater la cellule afin de
faciliter la saisie
Alpha


"Jacky" <news.microsoft.com> a écrit dans le message de
news:
Re
ex : 52 566 12563 B
ex : 25365 56 45612 T
????
Quel est le format exact que tu souhaites et quel est le nombre max. de
chiffres et de lettres????
JJ


"Alpha" a écrit dans le message news:

Euh, désolé ChrisV
en fait, j'ai essayé en adaptant à mon cas, ex : 12220 45 231456 T
Cela ne fonctionne pas, j'ai nommé la plage de cellules Zn de A1:A15
Alpha


"ChrisV" a écrit dans le message de
news:
Re,

En supposant que la plage de saisie se nomme Zn.
Dans la feuille de code de l'onglet concerné:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim alP As String, nuM As String
On Error Resume Next
If Not Intersect(Target, Range("Zn")) Is Nothing Then
Application.EnableEvents = False
alP = Right(Target.Value, 1)
nuM = Application.Text(Replace(Target.Value, alpha, ""), _
"00 000 00000 ")
Target.Value = nuM & alP
Application.EnableEvents = True
End If
End Sub


ChrisV


"Alpha" a écrit dans le message de news:
#5#
Salut chrisV
en fait, je désire saisir directement dans une cellule , j'ai
essayé





des
"##" et ?
Cela ne fonctionne pas.

"ChrisV" a écrit dans le message de
news:%
Bonjour Alpha,

En supposant que la cellule A1 contienne le chiffre et B1 la
lettre:





=TEXTE(A1;"00"" ""000"" ""00000"" """)&B1


ChrisV


"Alpha" a écrit dans le message de news:
O$
Bonjour,
je souhaite formater une cellule sachant que d'un côté j'ai
des







chiffres
et
une lettre, je saisi souvent ce type chiffres + une lettre à
la







fin.
ex : 52 566 12563 B
Merci
Alpha




























Avatar
Alpha
Je suis désolé ChrisV, je ne recommencerai plus, en fait il s'agit de deux
type de saisie différentes mais je préfère opter pour le 2ème type de saisie
car plus complexe. Il s'agit du 2ème cas

5 chiffres espace 2 chiffres espace 6 chiffres espace lettre
c'est cela

Alpha

"ChrisV" a écrit dans le message de
news:u0%
Re,

Cela ne fonctionne pas


Si si... reprends ton exemple initial.


j'ai essayé en adaptant à mon cas, ex : 12220 45 231456 T


Sauf que le premier cas exposé était 52 566 12563 B !!!
:-(

Le nombre est-il composé de 10 (comme dans le 1e cas) ou de 13 chiffres ?

Egalement,

1e cas formatage sous la forme:
2 chiffres espace 3 chiffres espace 5 chiffres espace lettre

2e cas
5 chiffres espace 2 chiffres espace 6 chiffres espace lettre

On ne peut pas vraiment dire que cela soit identique, il faudrait des
précisions pour savoir sur quel pied danser...


ChrisV


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

Euh, désolé ChrisV
en fait, j'ai essayé en adaptant à mon cas, ex : 12220 45 231456 T
Cela ne fonctionne pas, j'ai nommé la plage de cellules Zn de A1:A15
Alpha


"ChrisV" a écrit dans le message de
news:
Re,

En supposant que la plage de saisie se nomme Zn.
Dans la feuille de code de l'onglet concerné:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim alP As String, nuM As String
On Error Resume Next
If Not Intersect(Target, Range("Zn")) Is Nothing Then
Application.EnableEvents = False
alP = Right(Target.Value, 1)
nuM = Application.Text(Replace(Target.Value, alpha, ""), _
"00 000 00000 ")
Target.Value = nuM & alP
Application.EnableEvents = True
End If
End Sub


ChrisV


"Alpha" a écrit dans le message de news:
#5#
Salut chrisV
en fait, je désire saisir directement dans une cellule , j'ai essayé
des



"##" et ?
Cela ne fonctionne pas.

"ChrisV" a écrit dans le message de
news:%
Bonjour Alpha,

En supposant que la cellule A1 contienne le chiffre et B1 la
lettre:





=TEXTE(A1;"00"" ""000"" ""00000"" """)&B1


ChrisV


"Alpha" a écrit dans le message de news:
O$
Bonjour,
je souhaite formater une cellule sachant que d'un côté j'ai des
chiffres



et
une lettre, je saisi souvent ce type chiffres + une lettre à la
fin.





ex : 52 566 12563 B
Merci
Alpha
























Avatar
Alpha
Salut Jacky, et merci, voilà le format.

25644 56 256365 T

Alpha

"Jacky" <news.microsoft.com> a écrit dans le message de
news:uw%
ex : 52 566 12563 B
ex : 25365 56 45612 T
ex: 25644 56 256365 T
?????????
Je réitère ma question... Quel format????
JJ
"Alpha" a écrit dans le message news:
u28Lt#
Merci Jacky, en fait voilà le format ainsi que le type que je dois
saisir


dans la colonne A1:A1000
Exemple : 25644 56 256365 T le pb c'est qu' il y a obligatoirement une
lettre à la fin de saisie, je souhaite donc formater la cellule afin de
faciliter la saisie
Alpha


"Jacky" <news.microsoft.com> a écrit dans le message de
news:
Re
ex : 52 566 12563 B
ex : 25365 56 45612 T
????
Quel est le format exact que tu souhaites et quel est le nombre max.
de



chiffres et de lettres????
JJ


"Alpha" a écrit dans le message news:

Euh, désolé ChrisV
en fait, j'ai essayé en adaptant à mon cas, ex : 12220 45 231456 T
Cela ne fonctionne pas, j'ai nommé la plage de cellules Zn de A1:A15
Alpha


"ChrisV" a écrit dans le message de
news:
Re,

En supposant que la plage de saisie se nomme Zn.
Dans la feuille de code de l'onglet concerné:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim alP As String, nuM As String
On Error Resume Next
If Not Intersect(Target, Range("Zn")) Is Nothing Then
Application.EnableEvents = False
alP = Right(Target.Value, 1)
nuM = Application.Text(Replace(Target.Value, alpha, ""), _

"00 000 00000 ")
Target.Value = nuM & alP
Application.EnableEvents = True
End If
End Sub


ChrisV


"Alpha" a écrit dans le message de news:
#5#
Salut chrisV
en fait, je désire saisir directement dans une cellule , j'ai
essayé





des
"##" et ?
Cela ne fonctionne pas.

"ChrisV" a écrit dans le message de
news:%
Bonjour Alpha,

En supposant que la cellule A1 contienne le chiffre et B1 la
lettre:





=TEXTE(A1;"00"" ""000"" ""00000"" """)&B1


ChrisV


"Alpha" a écrit dans le message de news:
O$
Bonjour,
je souhaite formater une cellule sachant que d'un côté j'ai
des







chiffres
et
une lettre, je saisi souvent ce type chiffres + une lettre à
la







fin.
ex : 52 566 12563 B
Merci
Alpha
































Avatar
Jacky
=TEXTE(STXT(A1;1;NBCAR(A1)-1);"00000"" ""00"" ""000000"" """)& DROITE(A1;1)
Tu tires vers le bas.

Salutations et bonne nuit
JJ

"Alpha" a écrit dans le message news:

Salut Jacky, et merci, voilà le format.

25644 56 256365 T

Alpha

"Jacky" <news.microsoft.com> a écrit dans le message de
news:uw%
ex : 52 566 12563 B
ex : 25365 56 45612 T
ex: 25644 56 256365 T
?????????
Je réitère ma question... Quel format????
JJ
"Alpha" a écrit dans le message news:
u28Lt#
Merci Jacky, en fait voilà le format ainsi que le type que je dois
saisir


dans la colonne A1:A1000
Exemple : 25644 56 256365 T le pb c'est qu' il y a obligatoirement
une



lettre à la fin de saisie, je souhaite donc formater la cellule afin
de



faciliter la saisie
Alpha


"Jacky" <news.microsoft.com> a écrit dans le message de
news:
Re
ex : 52 566 12563 B
ex : 25365 56 45612 T
????
Quel est le format exact que tu souhaites et quel est le nombre max.
de



chiffres et de lettres????
JJ


"Alpha" a écrit dans le message news:

Euh, désolé ChrisV
en fait, j'ai essayé en adaptant à mon cas, ex : 12220 45 231456 T
Cela ne fonctionne pas, j'ai nommé la plage de cellules Zn de
A1:A15





Alpha


"ChrisV" a écrit dans le message de
news:
Re,

En supposant que la plage de saisie se nomme Zn.
Dans la feuille de code de l'onglet concerné:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim alP As String, nuM As String
On Error Resume Next
If Not Intersect(Target, Range("Zn")) Is Nothing Then
Application.EnableEvents = False
alP = Right(Target.Value, 1)
nuM = Application.Text(Replace(Target.Value, alpha, ""),
_







"00 000 00000 ")
Target.Value = nuM & alP
Application.EnableEvents = True
End If
End Sub


ChrisV


"Alpha" a écrit dans le message de news:
#5#
Salut chrisV
en fait, je désire saisir directement dans une cellule , j'ai
essayé





des
"##" et ?
Cela ne fonctionne pas.

"ChrisV" a écrit dans le message de
news:%
Bonjour Alpha,

En supposant que la cellule A1 contienne le chiffre et B1 la
lettre:





=TEXTE(A1;"00"" ""000"" ""00000"" """)&B1


ChrisV


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








O$
Bonjour,
je souhaite formater une cellule sachant que d'un côté
j'ai









des
chiffres
et
une lettre, je saisi souvent ce type chiffres + une lettre
à









la
fin.
ex : 52 566 12563 B
Merci
Alpha




































Avatar
Alpha
Merci Jacky
j'avais adapté ta soluce, mais je parlais de format.
Alpha

"Jacky" <news.microsoft.com> a écrit dans le message de
news:%
=TEXTE(STXT(A1;1;NBCAR(A1)-1);"00000"" ""00"" ""000000"" """)&
DROITE(A1;1)

Tu tires vers le bas.

Salutations et bonne nuit
JJ

"Alpha" a écrit dans le message news:

Salut Jacky, et merci, voilà le format.

25644 56 256365 T

Alpha

"Jacky" <news.microsoft.com> a écrit dans le message de
news:uw%
ex : 52 566 12563 B
ex : 25365 56 45612 T
ex: 25644 56 256365 T
?????????
Je réitère ma question... Quel format????
JJ
"Alpha" a écrit dans le message news:
u28Lt#
Merci Jacky, en fait voilà le format ainsi que le type que je dois
saisir


dans la colonne A1:A1000
Exemple : 25644 56 256365 T le pb c'est qu' il y a obligatoirement
une



lettre à la fin de saisie, je souhaite donc formater la cellule afin
de



faciliter la saisie
Alpha


"Jacky" <news.microsoft.com> a écrit dans le message de
news:
Re
ex : 52 566 12563 B
ex : 25365 56 45612 T
????
Quel est le format exact que tu souhaites et quel est le nombre
max.





de
chiffres et de lettres????
JJ


"Alpha" a écrit dans le message news:

Euh, désolé ChrisV
en fait, j'ai essayé en adaptant à mon cas, ex : 12220 45 231456
T






Cela ne fonctionne pas, j'ai nommé la plage de cellules Zn de
A1:A15





Alpha


"ChrisV" a écrit dans le message de
news:
Re,

En supposant que la plage de saisie se nomme Zn.
Dans la feuille de code de l'onglet concerné:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim alP As String, nuM As String
On Error Resume Next
If Not Intersect(Target, Range("Zn")) Is Nothing Then
Application.EnableEvents = False
alP = Right(Target.Value, 1)
nuM = Application.Text(Replace(Target.Value, alpha,
""),







_

"00 000 00000 ")
Target.Value = nuM & alP
Application.EnableEvents = True
End If
End Sub


ChrisV


"Alpha" a écrit dans le message de news:
#5#
Salut chrisV
en fait, je désire saisir directement dans une cellule ,
j'ai








essayé
des
"##" et ?
Cela ne fonctionne pas.

"ChrisV" a écrit dans le message de
news:%
Bonjour Alpha,

En supposant que la cellule A1 contienne le chiffre et B1
la









lettre:
=TEXTE(A1;"00"" ""000"" ""00000"" """)&B1


ChrisV


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








O$
Bonjour,
je souhaite formater une cellule sachant que d'un côté
j'ai









des
chiffres
et
une lettre, je saisi souvent ce type chiffres + une
lettre










à
la
fin.
ex : 52 566 12563 B
Merci
Alpha








































Avatar
ChrisV
Re,

Si la lettre saisie en fin de chaîne était toujours identique, ou
éventuellement attribuée de manière systématique en fonction d'une classe
précise à laquelle le nombre indiqué appartiendrait, on pourrait passer par
un format personnalisé, en dehors cette possibilité limitée il faut passer
par macro...

Le problème suivant est le type de format de nombre que tu désires
précisément pour la partie "numérique" du code...

Le code ci-après formate la saisie effectuée suivant le dernier exemple
(25644 56 256365 T) indiqué.
(5 chiffres espace 2 chiffres espace 6 chiffres espace 1 lettre)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim alP As String, nuM As String
On Error Resume Next
If Not Intersect(Target, Range("A1:A1000")) Is Nothing Then
'ou If Not Intersect(Target, Range("Zn")) Is Nothing Then
' avec la plage A1:A1000 nommée Zn
Application.EnableEvents = False
alP = Right(Target.Value, 1)
nuM = Application.Text(Replace(Target.Value, alP, ""), _
"00000 00 000000 ")
Target.Value = nuM & alP
Application.EnableEvents = True
End If
End Sub

Mais qu'en est-il pour une saisie de type 52H ou 1234567M
avec le code précédent, et sans autre précision de ta part, tu obtiendras
00000 00 000052 H et
00000 01 234567 M

Il est donc nécessaire de préciser, par exemple...

- le nombre de chiffres, variable ou déterminé ?

- les zéros doivent-il être significatifs ou non ?
si non, remplacer dans le code précédent:
nuM = Application.Text(Replace(Target.Value, alP, ""), _
"00000 00 000000 ")
par
nuM = Application.Text(Replace(Target.Value, alP, ""), _
"##### ## #####0 ")

- 2 types de saisie (10 chiffres 1 lettre, ou 13 chiffres 1 lettre), et 2
types de formatage différents correspondants, ou bien même type de formatage
pour différents types de saisie ?

- etc...

Merci des éventuelles rectifications à apporter.


ChrisV

nb: s'il s'agit de 2 types possibles de saisie (10 chiffres 1 lettre, ou 13
chiffres 1 lettre



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

Je suis désolé ChrisV, je ne recommencerai plus, en fait il s'agit de deux
type de saisie différentes mais je préfère opter pour le 2ème type de
saisie

car plus complexe. Il s'agit du 2ème cas

5 chiffres espace 2 chiffres espace 6 chiffres espace lettre
c'est cela

Alpha

"ChrisV" a écrit dans le message de
news:u0%
Re,

Cela ne fonctionne pas


Si si... reprends ton exemple initial.


j'ai essayé en adaptant à mon cas, ex : 12220 45 231456 T


Sauf que le premier cas exposé était 52 566 12563 B !!!
:-(

Le nombre est-il composé de 10 (comme dans le 1e cas) ou de 13 chiffres
?



Egalement,

1e cas formatage sous la forme:
2 chiffres espace 3 chiffres espace 5 chiffres espace lettre

2e cas
5 chiffres espace 2 chiffres espace 6 chiffres espace lettre

On ne peut pas vraiment dire que cela soit identique, il faudrait des
précisions pour savoir sur quel pied danser...


ChrisV


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

Euh, désolé ChrisV
en fait, j'ai essayé en adaptant à mon cas, ex : 12220 45 231456 T
Cela ne fonctionne pas, j'ai nommé la plage de cellules Zn de A1:A15
Alpha


"ChrisV" a écrit dans le message de
news:
Re,

En supposant que la plage de saisie se nomme Zn.
Dans la feuille de code de l'onglet concerné:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim alP As String, nuM As String
On Error Resume Next
If Not Intersect(Target, Range("Zn")) Is Nothing Then
Application.EnableEvents = False
alP = Right(Target.Value, 1)
nuM = Application.Text(Replace(Target.Value, alpha, ""), _
"00 000 00000 ")
Target.Value = nuM & alP
Application.EnableEvents = True
End If
End Sub


ChrisV


"Alpha" a écrit dans le message de news:
#5#
Salut chrisV
en fait, je désire saisir directement dans une cellule , j'ai
essayé





des
"##" et ?
Cela ne fonctionne pas.

"ChrisV" a écrit dans le message de
news:%
Bonjour Alpha,

En supposant que la cellule A1 contienne le chiffre et B1 la
lettre:





=TEXTE(A1;"00"" ""000"" ""00000"" """)&B1


ChrisV


"Alpha" a écrit dans le message de news:
O$
Bonjour,
je souhaite formater une cellule sachant que d'un côté j'ai
des







chiffres
et
une lettre, je saisi souvent ce type chiffres + une lettre à
la







fin.
ex : 52 566 12563 B
Merci
Alpha




























Avatar
Alpha
Merci beaucoup ChrisV cela fonctionne parfaitement, désolé de ne pas avoir
été clair, j'avais plusieurs options, et je voulais partir de la plus simple
afin d'évoluer.
Dernier point, le Replace ne fonctionne pas sur Excel 97, et il faut que je
l'utilise sur Excel 97.
Merci encore pour ta gentillesse et ta compétence, et sorry.
Alpha

"ChrisV" a écrit dans le message de
news:
Re,

Si la lettre saisie en fin de chaîne était toujours identique, ou
éventuellement attribuée de manière systématique en fonction d'une classe
précise à laquelle le nombre indiqué appartiendrait, on pourrait passer
par

un format personnalisé, en dehors cette possibilité limitée il faut passer
par macro...

Le problème suivant est le type de format de nombre que tu désires
précisément pour la partie "numérique" du code...

Le code ci-après formate la saisie effectuée suivant le dernier exemple
(25644 56 256365 T) indiqué.
(5 chiffres espace 2 chiffres espace 6 chiffres espace 1 lettre)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim alP As String, nuM As String
On Error Resume Next
If Not Intersect(Target, Range("A1:A1000")) Is Nothing Then
'ou If Not Intersect(Target, Range("Zn")) Is Nothing Then
' avec la plage A1:A1000 nommée Zn
Application.EnableEvents = False
alP = Right(Target.Value, 1)
nuM = Application.Text(Replace(Target.Value, alP, ""), _
"00000 00 000000 ")
Target.Value = nuM & alP
Application.EnableEvents = True
End If
End Sub

Mais qu'en est-il pour une saisie de type 52H ou 1234567M
avec le code précédent, et sans autre précision de ta part, tu obtiendras
00000 00 000052 H et
00000 01 234567 M

Il est donc nécessaire de préciser, par exemple...

- le nombre de chiffres, variable ou déterminé ?

- les zéros doivent-il être significatifs ou non ?
si non, remplacer dans le code précédent:
nuM = Application.Text(Replace(Target.Value, alP, ""), _
"00000 00 000000 ")
par
nuM = Application.Text(Replace(Target.Value, alP, ""), _
"##### ## #####0 ")

- 2 types de saisie (10 chiffres 1 lettre, ou 13 chiffres 1 lettre), et 2
types de formatage différents correspondants, ou bien même type de
formatage

pour différents types de saisie ?

- etc...

Merci des éventuelles rectifications à apporter.


ChrisV

nb: s'il s'agit de 2 types possibles de saisie (10 chiffres 1 lettre, ou
13

chiffres 1 lettre



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

Je suis désolé ChrisV, je ne recommencerai plus, en fait il s'agit de
deux


type de saisie différentes mais je préfère opter pour le 2ème type de
saisie

car plus complexe. Il s'agit du 2ème cas

5 chiffres espace 2 chiffres espace 6 chiffres espace lettre
c'est cela

Alpha

"ChrisV" a écrit dans le message de
news:u0%
Re,

Cela ne fonctionne pas


Si si... reprends ton exemple initial.


j'ai essayé en adaptant à mon cas, ex : 12220 45 231456 T


Sauf que le premier cas exposé était 52 566 12563 B !!!
:-(

Le nombre est-il composé de 10 (comme dans le 1e cas) ou de 13
chiffres



?

Egalement,

1e cas formatage sous la forme:
2 chiffres espace 3 chiffres espace 5 chiffres espace lettre

2e cas
5 chiffres espace 2 chiffres espace 6 chiffres espace lettre

On ne peut pas vraiment dire que cela soit identique, il faudrait des
précisions pour savoir sur quel pied danser...


ChrisV


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

Euh, désolé ChrisV
en fait, j'ai essayé en adaptant à mon cas, ex : 12220 45 231456 T
Cela ne fonctionne pas, j'ai nommé la plage de cellules Zn de A1:A15
Alpha


"ChrisV" a écrit dans le message de
news:
Re,

En supposant que la plage de saisie se nomme Zn.
Dans la feuille de code de l'onglet concerné:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim alP As String, nuM As String
On Error Resume Next
If Not Intersect(Target, Range("Zn")) Is Nothing Then
Application.EnableEvents = False
alP = Right(Target.Value, 1)
nuM = Application.Text(Replace(Target.Value, alpha, ""), _
"00 000 00000 ")
Target.Value = nuM & alP
Application.EnableEvents = True
End If
End Sub


ChrisV


"Alpha" a écrit dans le message de news:
#5#
Salut chrisV
en fait, je désire saisir directement dans une cellule , j'ai
essayé





des
"##" et ?
Cela ne fonctionne pas.

"ChrisV" a écrit dans le message de
news:%
Bonjour Alpha,

En supposant que la cellule A1 contienne le chiffre et B1 la
lettre:





=TEXTE(A1;"00"" ""000"" ""00000"" """)&B1


ChrisV


"Alpha" a écrit dans le message de news:
O$
Bonjour,
je souhaite formater une cellule sachant que d'un côté j'ai
des







chiffres
et
une lettre, je saisi souvent ce type chiffres + une lettre à
la







fin.
ex : 52 566 12563 B
Merci
Alpha
































1 2 3