Excel : espace entre chiffre et lettre

Fermé
crocro33 - 13 avril 2012 à 10:18
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 13 avril 2012 à 17:25
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...

A voir également:

7 réponses

Lentzouille2 Messages postés 806 Date d'inscription samedi 22 octobre 2011 Statut Membre Dernière intervention 13 janvier 2020 39
13 avril 2012 à 10:45
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 !
0
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é.
0
Lentzouille2 Messages postés 806 Date d'inscription samedi 22 octobre 2011 Statut Membre Dernière intervention 13 janvier 2020 39
13 avril 2012 à 11:25
OK bon courage et derien !

Le mot "merci" ne dois pas faire parti de ton vocabulaire
0
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.
0
Lentzouille2 Messages postés 806 Date d'inscription samedi 22 octobre 2011 Statut Membre Dernière intervention 13 janvier 2020 39
13 avril 2012 à 11:31
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
0
Tu sais si je savais ce que je voulais je ne poserai pas la question :-)

Merci de ton implication
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
Modifié par Vaucluse le 13/04/2012 à 11:34
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?
0
Merci mais je ne veux pas taper les blancs justement je souhaite taper au kilomètre et qu'Excel fasse la mise en forme.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
13 avril 2012 à 11:51
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
0
permet de controler la pertinence de la saisie, je garde la formule dans un coin, mais ce n'est pas mon problème actuel.

Quant à utiliser VBA, cela dépasse de très loin mes compétences

Merci
0
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...
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
13 avril 2012 à 17:25
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.
0