Excel : espace entre chiffre et lettre
crocro33
-
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24581 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...
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 ! -
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.-
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 -
-
-
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? -
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 -
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... -
Re,
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.