Format personnalisé

Le
Jol
Bonjour,

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

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

Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacquouille
Le #24294561
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
Jol
Le #24294811
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" 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
Jacquouille
Le #24295341
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" 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
MichD
Le #24296881
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
Jol
Le #24297021
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" 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

MichD
Le #24297201
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" 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

Jol
Le #24298931
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" 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" 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

MichD
Le #24299481
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" 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" 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

MichD
Le #24299471
J'ai omis de modifier cette ligne de code :

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

Pour

X = Right(.Value, 8)



MichD
------------------------------------------
bcar
Le #24303631
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)
Publicité
Poster une réponse
Anonyme