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

Format personnalisé

11 réponses
Avatar
Jol
Bonjour,

Peut-on à l'aide d'un format personnalisé obtenir :

saisir 2AAAA72 afficher 2AAAA72
saisir 00123456789 afficher 23456789
saisir 02456 afficher 00002456

Merci

10 réponses

1 2
Avatar
Jacquouille
Bonjour
Pour le premier cas: -----> rien de plus facile: on entre 2AAAA72 au format
de cellule "standard"
Pour le deuxième cas :-----> pour moi, il faut passer par une cellule
voisine et y indiquer=doite(A1;8) ...... A moins que Maude ne passe par là
et ne trouve un format spécial de derrière les fagots .
Pour le troisième cas:----> entrer 2456 et mettre la cellule au format
spécial 00000000 (huit fois zéro). Cela mettra autant de zéros devant le
nombre entrée pour avoir 8 chiffres dans la cellule

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Jol" a écrit dans le message de groupe de discussion :
jisjv2$52t$

Bonjour,

Peut-on à l'aide d'un format personnalisé obtenir :

saisir 2AAAA72 afficher 2AAAA72
saisir 00123456789 afficher 23456789
saisir 02456 afficher 00002456

Merci
Avatar
Jol
Je te remercie,

Tes solutions sont à peu près de mon niveau.

Ce formatage concerne la cellule qui peut recevoir le 1° cas ou le 2° ou le


"Jacquouille" a écrit dans le message de
news:4f5222ad$0$7679$
Bonjour
Pour le premier cas: -----> rien de plus facile: on entre 2AAAA72 au
format de cellule "standard"
Pour le deuxième cas :-----> pour moi, il faut passer par une cellule
voisine et y indiquer=doite(A1;8) ...... A moins que Maude ne passe par
là et ne trouve un format spécial de derrière les fagots .
Pour le troisième cas:----> entrer 2456 et mettre la cellule au format
spécial 00000000 (huit fois zéro). Cela mettra autant de zéros devant le
nombre entrée pour avoir 8 chiffres dans la cellule

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Jol" a écrit dans le message de groupe de discussion :
jisjv2$52t$

Bonjour,

Peut-on à l'aide d'un format personnalisé obtenir :

saisir 2AAAA72 afficher 2AAAA72
saisir 00123456789 afficher 23456789
saisir 02456 afficher 00002456

Merci
Avatar
Jacquouille
Bonsoir
... dans ce cas, je ne puis rien d'autre pour toi.
Je m'autorise cependant à penser qu'il sera très difficile de trouver un
formatage qui réunisse les trois conditions pour une même cellule.
Jacquouille

" Le vin est au repas ce que le parfum est à la femme."

"Jol" a écrit dans le message de groupe de discussion :
jitf4u$4v6$

Je te remercie,

Tes solutions sont à peu près de mon niveau.

Ce formatage concerne la cellule qui peut recevoir le 1° cas ou le 2° ou le


"Jacquouille" a écrit dans le message de
news:4f5222ad$0$7679$
Bonjour
Pour le premier cas: -----> rien de plus facile: on entre 2AAAA72 au
format de cellule "standard"
Pour le deuxième cas :-----> pour moi, il faut passer par une cellule
voisine et y indiquer=doite(A1;8) ...... A moins que Maude ne passe par
là et ne trouve un format spécial de derrière les fagots .
Pour le troisième cas:----> entrer 2456 et mettre la cellule au format
spécial 00000000 (huit fois zéro). Cela mettra autant de zéros devant le
nombre entrée pour avoir 8 chiffres dans la cellule

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Jol" a écrit dans le message de groupe de discussion :
jisjv2$52t$

Bonjour,

Peut-on à l'aide d'un format personnalisé obtenir :

saisir 2AAAA72 afficher 2AAAA72
saisir 00123456789 afficher 23456789
saisir 02456 afficher 00002456

Merci
Avatar
MichD
Bonjour,

Question difficile à cerner...

Combien de caractères doivent avoir chacune des cellules ?

Quelle est la différence de format s'il y en a une entre une chaîne de caractères numériques ou alphanumériques ?
Donne quelques exemples pour chaque catégorie sur le résultat attendu.



MichD
------------------------------------------
"Jol" a écrit dans le message de groupe de discussion : jisjv2$52t$

Bonjour,

Peut-on à l'aide d'un format personnalisé obtenir :

saisir 2AAAA72 afficher 2AAAA72
saisir 00123456789 afficher 23456789
saisir 02456 afficher 00002456

Merci
Avatar
Jol
Chaine saisie numérique ou alpha la longueur au final est identique à
l'exemple c'est à dire 8 caractères.
Que l'on saisisse au départ max 15 caractères mini 4, je peux formater ma
colonne en texte si nécessaire.

"MichD" a écrit dans le message de
news:jj0gfn$d4q$
Bonjour,

Question difficile à cerner...

Combien de caractères doivent avoir chacune des cellules ?

Quelle est la différence de format s'il y en a une entre une chaîne de
caractères numériques ou alphanumériques ?
Donne quelques exemples pour chaque catégorie sur le résultat attendu.



MichD
------------------------------------------
"Jol" a écrit dans le message de groupe de discussion :
jisjv2$52t$

Bonjour,

Peut-on à l'aide d'un format personnalisé obtenir :

saisir 2AAAA72 afficher 2AAAA72
saisir 00123456789 afficher 23456789
saisir 02456 afficher 00002456

Merci

Avatar
MichD
Bonjour,


Copie le code suivant dans le module de la feuille où l'action se déroule :
Un clic droit sur l'onglet de la feuille / commande : visualiser le code

Tu adaptes la plage Range("A:A") de la procédure pour la plage de cellules où
la procédure doit s'appliquer.

Au moins 8 caractères seront présents dans la cellule.
Si au départ, il y moins de 8 caractères, des 0 seront ajoutés à gauche
S'il y a plus de 8 caractères, seuls les 8 caractères de droite seront conservés.
Les caractères alphanumériques seront mis en majuscule.

Le format de chacune des cellules sera au format Texte.

'-------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, C As Range, X As String

'Adapte Range("A:A") à la plage de cellules
'de ton application
Set Rg = Intersect(Target, Range("A:A"))

If Not Rg Is Nothing Then
Application.EnableEvents = False
For Each C In Rg
With C
If .Value <> "" Then
X = Right(Application.Rept("0", 7) & .Value, 8)
.NumberFormat = "@"
.Value = UCase(X)
End If
End With
Next
Application.EnableEvents = True
End If
End Sub
'-------------------------------------



MichD
------------------------------------------
"Jol" a écrit dans le message de groupe de discussion : jj0nrk$1c9$

Chaine saisie numérique ou alpha la longueur au final est identique à
l'exemple c'est à dire 8 caractères.
Que l'on saisisse au départ max 15 caractères mini 4, je peux formater ma
colonne en texte si nécessaire.

"MichD" a écrit dans le message de
news:jj0gfn$d4q$
Bonjour,

Question difficile à cerner...

Combien de caractères doivent avoir chacune des cellules ?

Quelle est la différence de format s'il y en a une entre une chaîne de
caractères numériques ou alphanumériques ?
Donne quelques exemples pour chaque catégorie sur le résultat attendu.



MichD
------------------------------------------
"Jol" a écrit dans le message de groupe de discussion :
jisjv2$52t$

Bonjour,

Peut-on à l'aide d'un format personnalisé obtenir :

saisir 2AAAA72 afficher 2AAAA72
saisir 00123456789 afficher 23456789
saisir 02456 afficher 00002456

Merci

Avatar
Jol
J'ai quelques difficultés pour poster depuis hier !
Donc nouvel essai

C'est parfait, mais je me suis pris les pieds dans le tapis, s'il y a moins
de 8 caractères on ne modifie rien, mais si > 8 réduire à 8
Merci Michdenis

"MichD" a écrit dans le message de
news:jj11q8$oat$
Bonjour,


Copie le code suivant dans le module de la feuille où l'action se déroule
:
Un clic droit sur l'onglet de la feuille / commande : visualiser le code

Tu adaptes la plage Range("A:A") de la procédure pour la plage de cellules

la procédure doit s'appliquer.

Au moins 8 caractères seront présents dans la cellule.
Si au départ, il y moins de 8 caractères, des 0 seront ajoutés à gauche
S'il y a plus de 8 caractères, seuls les 8 caractères de droite seront
conservés.
Les caractères alphanumériques seront mis en majuscule.

Le format de chacune des cellules sera au format Texte.

'-------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, C As Range, X As String

'Adapte Range("A:A") à la plage de cellules
'de ton application
Set Rg = Intersect(Target, Range("A:A"))

If Not Rg Is Nothing Then
Application.EnableEvents = False
For Each C In Rg
With C
If .Value <> "" Then
X = Right(Application.Rept("0", 7) & .Value, 8)
.NumberFormat = "@"
.Value = UCase(X)
End If
End With
Next
Application.EnableEvents = True
End If
End Sub
'-------------------------------------



"MichD" a écrit dans le message de
news:jj0gfn$d4q$
Bonjour,

Question difficile à cerner...

Combien de caractères doivent avoir chacune des cellules ?

Quelle est la différence de format s'il y en a une entre une chaîne de
caractères numériques ou alphanumériques ?
Donne quelques exemples pour chaque catégorie sur le résultat attendu.



MichD
------------------------------------------
"Jol" a écrit dans le message de groupe de discussion :
jisjv2$52t$

Bonjour,

Peut-on à l'aide d'un format personnalisé obtenir :

saisir 2AAAA72 afficher 2AAAA72
saisir 00123456789 afficher 23456789
saisir 02456 afficher 00002456

Merci

Avatar
MichD
Il faudrait adapter comme cela. Il est préférable d'avoir
un format uniforme dans la colonne, c'est ce pour quoi
la procédure s'assure que les majuscules soient présentes
et que le format "Texte" s'applique même si le nombre
de caractères est moins que 8.


'-----------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, C As Range, X As String

'Adapte Range("A:A") à la plage de cellules
'de ton application
Set Rg = Intersect(Target, Range("A:A"))

If Not Rg Is Nothing Then
Application.EnableEvents = False
For Each C In Rg
With C
If Len(.Value) >= 8 Then
X = Right(Application.Rept("0", 7) & .Value, 8)
.NumberFormat = "@"
.Value = UCase(X)
Else
.NumberFormat = "@"
.Value = UCase(.Value)
End If
End With
Next
Application.EnableEvents = True
End If
End Sub
'-----------------------------------------



MichD
------------------------------------------
"Jol" a écrit dans le message de groupe de discussion : jj4acc$b1e$

J'ai quelques difficultés pour poster depuis hier !
Donc nouvel essai

C'est parfait, mais je me suis pris les pieds dans le tapis, s'il y a moins
de 8 caractères on ne modifie rien, mais si > 8 réduire à 8
Merci Michdenis

"MichD" a écrit dans le message de
news:jj11q8$oat$
Bonjour,


Copie le code suivant dans le module de la feuille où l'action se déroule
:
Un clic droit sur l'onglet de la feuille / commande : visualiser le code

Tu adaptes la plage Range("A:A") de la procédure pour la plage de cellules

la procédure doit s'appliquer.

Au moins 8 caractères seront présents dans la cellule.
Si au départ, il y moins de 8 caractères, des 0 seront ajoutés à gauche
S'il y a plus de 8 caractères, seuls les 8 caractères de droite seront
conservés.
Les caractères alphanumériques seront mis en majuscule.

Le format de chacune des cellules sera au format Texte.

'-------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, C As Range, X As String

'Adapte Range("A:A") à la plage de cellules
'de ton application
Set Rg = Intersect(Target, Range("A:A"))

If Not Rg Is Nothing Then
Application.EnableEvents = False
For Each C In Rg
With C
If .Value <> "" Then
X = Right(Application.Rept("0", 7) & .Value, 8)
.NumberFormat = "@"
.Value = UCase(X)
End If
End With
Next
Application.EnableEvents = True
End If
End Sub
'-------------------------------------



"MichD" a écrit dans le message de
news:jj0gfn$d4q$
Bonjour,

Question difficile à cerner...

Combien de caractères doivent avoir chacune des cellules ?

Quelle est la différence de format s'il y en a une entre une chaîne de
caractères numériques ou alphanumériques ?
Donne quelques exemples pour chaque catégorie sur le résultat attendu.



MichD
------------------------------------------
"Jol" a écrit dans le message de groupe de discussion :
jisjv2$52t$

Bonjour,

Peut-on à l'aide d'un format personnalisé obtenir :

saisir 2AAAA72 afficher 2AAAA72
saisir 00123456789 afficher 23456789
saisir 02456 afficher 00002456

Merci

Avatar
MichD
J'ai omis de modifier cette ligne de code :

X = Right(Application.Rept("0", 7) & .Value, 8)

Pour

X = Right(.Value, 8)



MichD
------------------------------------------
Avatar
bcar
Le 03/03/2012 09:15, Jol a écrit :
Bonjour,

Peut-on à l'aide d'un format personnalisé obtenir :

saisir 2AAAA72 afficher 2AAAA72
saisir 00123456789 afficher 23456789
saisir 02456 afficher 00002456

Merci



Si la cellule cible n'est pas obligatoirement la cellule source,
voici une solution sans macro pour afficher sur 8 caractères :

Cellule à formater en A1
Formule à utiliser : =REPT("0";MAX(0;8-NBCAR(A1))) & DROITE(A1;8)
1 2