• Initiateur de la discussion Initiateur de la discussion atoss77
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

atoss77

Guest
Bonjour

j'ai effectué une mission qui consiste à relever les 5 caractères d'une plaque d'immatriculation.

Ensuite elles ont été saisie sous Excel en colonne.

Je voudrais comment je peux faire pour vérifier la saisie
sachant que une plaque peut s'écrire (X = un chiffre et L= une lettre sans espace) :
xxlll
xxxll
xxxxl
llxxx


merci pour votre aide
 
Dernière modification par un modérateur:
Re : Demande d'aide

Bonjour tout le monde, Jean-Claude🙂
@Pierrot🙂 j'adore ton humour...
peut-être avec une fonction personnalisée en utilisant RegExp (pensée pour JNP🙂):
Code:
Function Teste(ATester As String) As Boolean
Dim Match, Matches
With CreateObject("vbscript.regexp")
    .Global = True
    .Pattern = "^(\d{2}[a-zA-Z]{3}|\d{3}[a-zA-Z]{2}|\d{4}[a-zA-Z]{1}|[a-zA-Z]{2}\d{3})$"
    Set Matches = .Execute(ATester)
    If Matches.Count = 1 Then Teste = True Else Teste = False
End With
End Function
Testé rapidement donc à vérifier les différents cas de figure.
Pattern à enrichir selon les cas non prévus actuellement.
A+
EDit : le pattern actuel accepte les lettres minuscules : est-ce ce que tu veux ? Sinon le remplacer par
Code:
.Pattern = "^(\d{2}[A-Z]{3}|\d{3}[A-Z]{2}|\d{4}[A-Z]{1}|[A-Z]{2}\d{3})$"
 
Dernière édition:
Re : Demande d'aide

Bonjour

david84: tu me permets d'employer mon premier IIF de ce début d'aprés-midi
Quoi que finalement on peut même s'en affranchir.

Code:
Function Teste(ATester As String) As Boolean
Dim Match, Matches
With CreateObject("vbscript.regexp")
    .Global = True
    .Pattern = "^(\d{2}[a-zA-Z]{3}|\d{3}[a-zA-Z]{2}|\d{4}[a-zA-Z]{1}|[a-zA-Z]{2}\d{3})$"
    Set Matches = .Execute(ATester)
    Teste= (Matches.Count = 1) 
End With
End Function
 
Re : Demande d'aide

Bonjour à tous,

peut-être en formule, sinon
en B2 le numéro de plaque, renverra VRAI si valide

Code:
=ESTNUM(EQUIV((SI(ET(CODE(STXT(B2;1;1))>47;CODE(STXT(B2;1;1))<58);"x";"l")&SI(ET(CODE(STXT(B2;2;1))>47;CODE(STXT(B2;2;1))<58);"x";"l")&SI(ET(CODE(STXT(B2;3;1))>47;CODE(STXT(B2;3;1))<58);"x";"l")&SI(ET(CODE(STXT(B2;4;1))>47;CODE(STXT(B2;4;1))<58);"x";"l")&SI(ET(CODE(STXT(B2;5;1))>47;CODE(STXT(B2;5;1))<58);"x";"l"));{"xxlll";"xxxll";"xxxxl";"llxxx"};0))
 
Re : Demande d'aide

Bonjour,

Une autre solution mais le resultat reste le meme :
=OU(SI(ESTNUM(CNUM(STXT(B2;1;1)))=VRAI;"x";"l")&SI(ESTNUM(CNUM(STXT(B2;2;1)))=VRAI;"x";"l")&SI(ESTNUM(CNUM(STXT(B2;3;1)))=VRAI;"x";"l")&SI(ESTNUM(CNUM(STXT(B2;4;1)))=VRAI;"x";"l")&SI(ESTNUM(CNUM(STXT(B2;5;1)))=VRAI;"x";"l")={"xxlll";"xxxll";"xxxxl";"llxxx"})
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

M
Réponses
14
Affichages
3 K
Macgiy
M
N
Réponses
5
Affichages
2 K
Nicko29
N
P
Réponses
7
Affichages
5 K
Phil_vb
P
W
Réponses
6
Affichages
3 K
angelamuss
A
N
Réponses
1
Affichages
3 K
noisetheater
N
Retour