EXCEL: verifier le bon format d'une cellule.
Résolu
rapt
-
michel_m Messages postés 18903 Statut Contributeur -
michel_m Messages postés 18903 Statut Contributeur -
Bonjour à tous !
Je cherche à vérifier le bon format d'une cellule je m'expliques:
La cellule devrait ressembler a ça : Lettre = L , Chiffre = C
Cellule = LLLC-L(L)CCCCC la lettre entre parenthèse est optionnelle.
En gros je veux tester si il y a bien 3 lettre et un chiffre en début de cellule, juste apres vérifier qu'il y a bien un tiret, puis une lettre obligatoire avec une optionnel derriere. et 5 chiffre juste apres. Je précise que je veux pas pour le moment verifier le contenu de ces lettres ou chiffres. Quoique ^^.
Je ne sais pas si j'ai été assez claire? Je suis un novice en macro ou formule excel.
Merci d'avance pour ceux qui traineront sur mon post :)
Je cherche à vérifier le bon format d'une cellule je m'expliques:
La cellule devrait ressembler a ça : Lettre = L , Chiffre = C
Cellule = LLLC-L(L)CCCCC la lettre entre parenthèse est optionnelle.
En gros je veux tester si il y a bien 3 lettre et un chiffre en début de cellule, juste apres vérifier qu'il y a bien un tiret, puis une lettre obligatoire avec une optionnel derriere. et 5 chiffre juste apres. Je précise que je veux pas pour le moment verifier le contenu de ces lettres ou chiffres. Quoique ^^.
Je ne sais pas si j'ai été assez claire? Je suis un novice en macro ou formule excel.
Merci d'avance pour ceux qui traineront sur mon post :)
A voir également:
- Format de cellule excel
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Excel cellule couleur si condition texte - Guide
- Liste déroulante excel - Guide
- Hp usb disk storage format tool - Télécharger - Stockage
5 réponses
Bonjour
test avec une expression rationnelle (à vérifier) mais c'est peut-^tre un peu ardu si tu es novice. la fonction insensible à la casse, te renvoie VRAI ou FAUX
pour installer:
copier ce code
aller dans VBA par Alt+F11
insertion-module
coller le code
enregistrer au format "macro" si tu as XL>=2007
pour fonctionner
formules-fonction personnalisée
il faut autoriser les macros: tu dis ta version si tu ne sais pas faire
j'ai testé la fonction mais peut-^tre pas tout : a toi de jouer et dire si OK ou pas :o)
test avec une expression rationnelle (à vérifier) mais c'est peut-^tre un peu ardu si tu es novice. la fonction insensible à la casse, te renvoie VRAI ou FAUX
Function verifier_format(texto As String) As Boolean
Dim reg As Object
Dim verif As Object
Set reg = CreateObject("vbscript.regexp")
reg.Global = False
'admet les majuscules
reg.IgnoreCase = True
reg.Pattern = "^[a-z]{3,}[0-9]+[-][a-z]{1,2}[0-9]{5,}"
Set verif = reg.Execute(texto)
verifier_format = (verif.Count = 1)
Set verif = Nothing
Set reg = Nothing
End Function
pour installer:
copier ce code
aller dans VBA par Alt+F11
insertion-module
coller le code
enregistrer au format "macro" si tu as XL>=2007
pour fonctionner
formules-fonction personnalisée
il faut autoriser les macros: tu dis ta version si tu ne sais pas faire
j'ai testé la fonction mais peut-^tre pas tout : a toi de jouer et dire si OK ou pas :o)
Bonjour, bonjour michel,
Une autre approche ?
A+
Edit : pour que ce ne soit pas sensible à la case (accepté maju et minuscule) mettre en tête de module
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Une autre approche ?
Sub Test()
Dim T As Boolean
T = "LLLC-L(L)22223" Like "????[-]?[(]?[)]#####"
If T Then MsgBox ("Format conforme")
End Sub
A+
Edit : pour que ce ne soit pas sensible à la case (accepté maju et minuscule) mettre en tête de module
Option Compare Text
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
euh je me demandes ou enregistrer au fromat macro. J'ai reussi a crée le module et copier/coller le code mais je viens de chercher comment enregistrer en macro et j'avoue que je seches ^^'
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
reg.Pattern = "^[a-z]{3,}[0-9]+[-][a-z]{1,2}[0-9]{5}$"
a bientôt