Excel : espace entre chiffre et lettre
crocro33
-
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je cherche à afficher un code alpha numérique dans une feuille Excel.
Le code sera toujours composé de la même manière: 4 lettres, 2 chiffres 1 lettre, 1 chiffre.
Afin de vérifier que la saisie n'oublie rien je souhaite que l'affichage insère un espace entre lettres et chiffres de manière à visualiser rapidement les erreurs de saisie.
Avec une suite de chiffres je sais faire, mais avec le mélange chiffre ET lettres rien de ce que je connais ne fonctionne...
je cherche à afficher un code alpha numérique dans une feuille Excel.
Le code sera toujours composé de la même manière: 4 lettres, 2 chiffres 1 lettre, 1 chiffre.
Afin de vérifier que la saisie n'oublie rien je souhaite que l'affichage insère un espace entre lettres et chiffres de manière à visualiser rapidement les erreurs de saisie.
Avec une suite de chiffres je sais faire, mais avec le mélange chiffre ET lettres rien de ce que je connais ne fonctionne...
A voir également:
- Excel : espace entre chiffre et lettre
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Comment trier par ordre alphabétique sur excel - Guide
7 réponses
Bonjour,
Tu peux rajouter une colonne et mettre cette formule
=GAUCHE(B2;4)& " " & DROITE(GAUCHE(B2;6);2)& " " & DROITE(GAUCHE(B2;7);1)& " " & DROITE(B2;1)
En supposant que B2 soit ton code !
Tu peux rajouter une colonne et mettre cette formule
=GAUCHE(B2;4)& " " & DROITE(GAUCHE(B2;6);2)& " " & DROITE(GAUCHE(B2;7);1)& " " & DROITE(B2;1)
En supposant que B2 soit ton code !
J'aimerai que cela se fasse directement à la saisie, pas en rajoutant une colonne qui reprend les données saisies dans la colonne d'à côté.
Lorsque je discute avec quelqu'un je ne dis pas merci à chaque message, mais en général lorsque le sujet est clos...
Merci de ta réponse.
Qui ne répond pas à mes attentes.
Merci de ta réponse.
Qui ne répond pas à mes attentes.
Et un merci d'avance ? on est bénévole et on prend du temps pour résoudre tes problèmes !
En même temps tu aurais écris que tu ne voulais pas rajouter de colonne je n'aurai même pas chercher !
Ma réponse convient "parfaitement" à ton 1er message, c'est juste une façon détourner de ce que tu souhaites
En même temps tu aurais écris que tu ne voulais pas rajouter de colonne je n'aurai même pas chercher !
Ma réponse convient "parfaitement" à ton 1er message, c'est juste une façon détourner de ce que tu souhaites
Bonjour
peut être avec cette option:
sélectionner le champ de vos codes
Données / Validation et choisissez: "personnalisé"
entrez cette formule qui correspond à un champ commençant en A1
=ET(STXT(A1;5;1)=" ";STXT(A1;8;1)=" ";STXT(A1;10;1)=" ")
l'adresse de cellule dans la formule est celle de la 1° en haut à gauche du champ sélectionné.
cette validation n'acceptera pas d'entrée si les trois blancs ne sont pas aux bons endroits.
crdlmnt
ps si vous voulez aussi contrôler la longueur du code, rajoutez une condition:
=ET(STXT(A1;5;1)=" ";STXT(A1;8;1)=" ";STXT(A1;10;1)=" ";NBCAR(A1)=11)
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
peut être avec cette option:
sélectionner le champ de vos codes
Données / Validation et choisissez: "personnalisé"
entrez cette formule qui correspond à un champ commençant en A1
=ET(STXT(A1;5;1)=" ";STXT(A1;8;1)=" ";STXT(A1;10;1)=" ")
l'adresse de cellule dans la formule est celle de la 1° en haut à gauche du champ sélectionné.
cette validation n'acceptera pas d'entrée si les trois blancs ne sont pas aux bons endroits.
crdlmnt
ps si vous voulez aussi contrôler la longueur du code, rajoutez une condition:
=ET(STXT(A1;5;1)=" ";STXT(A1;8;1)=" ";STXT(A1;10;1)=" ";NBCAR(A1)=11)
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour tout le monde,
Si tu veux ajouter des espaces sans utiliser de colonne supplémentaire il faut utiliser VBA...
Sinon tant qu'à faire autant contrôler intégralement la saisie, l'ajout d'espace devient inutile.
Contrôle par une validation personnalisée :
=($B2="")+(NBCAR($B2)=8)*((SOMMEPROD(NON(ESTNUM(STXT(GAUCHE($B2;4)&STXT($B2;7;1);LIGNE($1:$5);1)*1))*1)+SOMMEPROD(ESTNUM((STXT(STXT($B2;5;2)&DROITE($B2;1);LIGNE($1:$3);1))*1)*1))=8)
Contrôle pour une MFC :
=NON(($B6="")+(NBCAR($B6)=8)*((SOMMEPROD(NON(ESTNUM(STXT(GAUCHE($B6;4)&STXT($B6;7;1);LIGNE($1:$5);1)*1))*1)+SOMMEPROD(ESTNUM((STXT(STXT($B6;5;2)&DROITE($B6;1);LIGNE($1:$3);1))*1)*1))=8))
exemple
eric
Si tu veux ajouter des espaces sans utiliser de colonne supplémentaire il faut utiliser VBA...
Sinon tant qu'à faire autant contrôler intégralement la saisie, l'ajout d'espace devient inutile.
Contrôle par une validation personnalisée :
=($B2="")+(NBCAR($B2)=8)*((SOMMEPROD(NON(ESTNUM(STXT(GAUCHE($B2;4)&STXT($B2;7;1);LIGNE($1:$5);1)*1))*1)+SOMMEPROD(ESTNUM((STXT(STXT($B2;5;2)&DROITE($B2;1);LIGNE($1:$3);1))*1)*1))=8)
Contrôle pour une MFC :
=NON(($B6="")+(NBCAR($B6)=8)*((SOMMEPROD(NON(ESTNUM(STXT(GAUCHE($B6;4)&STXT($B6;7;1);LIGNE($1:$5);1)*1))*1)+SOMMEPROD(ESTNUM((STXT(STXT($B6;5;2)&DROITE($B6;1);LIGNE($1:$3);1))*1)*1))=8))
exemple
eric
merci à tous d'avoir planché dessus.
Mais rien ne me convient.
En fait lorsque je taperai aaaa99x3
je veux afficher aaaa 99 x 3
tout bêtement.
Je pensais à un format de cellules personnalisé, mais il semble ne pas y en avoir avec lettres et chiffres mélangés...
Mais rien ne me convient.
En fait lorsque je taperai aaaa99x3
je veux afficher aaaa 99 x 3
tout bêtement.
Je pensais à un format de cellules personnalisé, mais il semble ne pas y en avoir avec lettres et chiffres mélangés...
Re,
en VBA, traite une saisie en colonne B si 8 caractères :
Clic-droit sur le nom de l'onglet concerné, coller le code.
en VBA, traite une saisie en colonne B si 8 caractères :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 2 Or Len(Target) <> 8 Then Exit Sub
Target = Left(Target, 4) & " " & Mid(Target, 5, 2) & " " & Mid(Target, 7, 1) & " " & Right(Target, 1)
End Sub
Clic-droit sur le nom de l'onglet concerné, coller le code.