Comment appliquer des "Rules" dans une cellule
Résolu
infopige
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
JvDo Messages postés 1978 Date d'inscription Statut Membre Dernière intervention -
JvDo Messages postés 1978 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'utilise Excel 2007 (anglais) et on me demande d'insérer une règle pour le formatage d'une cellule et je ne sais pas comment faire. EX: pour aider les différents intervenants à compléter adéquatement lesdites cellules, je dois les formater pour entrer seulement 3 caractères alpha-numérique, sans majuscule ni espace et pas de symbole ou ponctuation. Les résultats possibles devraient être comme suit: 01a, 10g, 09d, etc.
Merci de votre aide et Bonne Année!
Infopige
J'utilise Excel 2007 (anglais) et on me demande d'insérer une règle pour le formatage d'une cellule et je ne sais pas comment faire. EX: pour aider les différents intervenants à compléter adéquatement lesdites cellules, je dois les formater pour entrer seulement 3 caractères alpha-numérique, sans majuscule ni espace et pas de symbole ou ponctuation. Les résultats possibles devraient être comme suit: 01a, 10g, 09d, etc.
Merci de votre aide et Bonne Année!
Infopige
A voir également:
- Comment appliquer des "Rules" dans une cellule
- Comment aller à la ligne dans une cellule excel - Guide
- Comment supprimer une application préinstallée sur android - Guide
- Excel cellule couleur si condition texte - Guide
- Proteger cellule excel - Guide
- Desinstaller une application sur windows - Guide
6 réponses
Bonjour,
Les valeurs attendues et possibles se situent entre 01a à 12z et peuvent être comme suit: 01a, 01b, 05k, etc
donc seulement 3 caractères alpha-numérique, sans lettre majuscule, sans espace, sans caractère spécial ni ponctuation. Est-ce que ça répond à votre question?
Merci
Infopige
Les valeurs attendues et possibles se situent entre 01a à 12z et peuvent être comme suit: 01a, 01b, 05k, etc
donc seulement 3 caractères alpha-numérique, sans lettre majuscule, sans espace, sans caractère spécial ni ponctuation. Est-ce que ça répond à votre question?
Merci
Infopige
Non... je ne connais pas de solution qui permette de formater une cellule dans ces conditions. Je demandais simplement si vous aviez la liste complète des valeurs qui peuvent être entrées dans cette cellule, auquel cas il suffisait d'en établir la liste et de passer par une validation de données.
Mais si vous n'avez pas toute la liste, il va falloir attendre un autre secours. Je pense qu'il faudra passer par VBA, mais on n'est sur de rien.
crdlmnt
Mais si vous n'avez pas toute la liste, il va falloir attendre un autre secours. Je pense qu'il faudra passer par VBA, mais on n'est sur de rien.
crdlmnt
Évidemment que je pourrais créer une telle liste mais elle serait vraiment exhaustive (01a à 01z, 02a à 02z, etc jusqu'à 12z), il y a sûrement une façon plus rapide que le "Vlookup".
Je vous remercie de votre aide....
Infopige
Je vous remercie de votre aide....
Infopige
Alors je n'ai trouvé que ça dans mes tiroirs en version française
Données / validation / personnalisé et la formule: (pour cellule F1)
:
=ET(GAUCHE(F1;2)*1<13;NBCAR(F1)=3;NON(ESTNUM(DROITE(F1;1)*1)))
cette formule exige:
que les deux premiers caractères soient numériques
que le nombre de caractère (blanc inclus au cas ou) ne dépasse pas trois
que le dernier caractère ne soit pas numérique
mais elle n'exclut pas la possibilité de placer un autre caractère en fin de libellé.
Vous pouvez aussi tenter:
de créer une liste hors champ ,de lettre de A à Z que vous nommerez par exemple ALPHA:
la formule de validation serait alors:
=ET(GAUCHE(F1;2)*1<13;NBCAR(F1)=3;EQUIV(DROITE(F1;1);ALPHA;0)>0)
et dans ce cas seule une lettre de l'alphabet peut terminer le libellé.
bonne chance
crdlmnt
Données / validation / personnalisé et la formule: (pour cellule F1)
:
=ET(GAUCHE(F1;2)*1<13;NBCAR(F1)=3;NON(ESTNUM(DROITE(F1;1)*1)))
cette formule exige:
que les deux premiers caractères soient numériques
que le nombre de caractère (blanc inclus au cas ou) ne dépasse pas trois
que le dernier caractère ne soit pas numérique
mais elle n'exclut pas la possibilité de placer un autre caractère en fin de libellé.
Vous pouvez aussi tenter:
de créer une liste hors champ ,de lettre de A à Z que vous nommerez par exemple ALPHA:
la formule de validation serait alors:
=ET(GAUCHE(F1;2)*1<13;NBCAR(F1)=3;EQUIV(DROITE(F1;1);ALPHA;0)>0)
et dans ce cas seule une lettre de l'alphabet peut terminer le libellé.
bonne chance
crdlmnt
Je ne crois pas utiliser le 00a, b, c. etc.
En vous remerciant de votre aide précieuse!
Ingopige
En vous remerciant de votre aide précieuse!
Ingopige
Bonsoir,
alors un simple rajout dans la fonction ET() :
GAUCHE(F1;2)*1>0;
suffira
Bonne suite et Merci Vaucluse
Edit : encore une trouvaille : la virgule et les (:)
mais là, je sèche, ou bien reprendre la fin de formule pour l'appliquer à gauche, avec une plage numérique (01, 02, 03, etc..) nommée (ex: NUMER) au Format TEXTE
l'ensemble devient :
' =ET(EQUIV(GAUCHE(F1;2);NUMER;0)>0;NBCAR(F1)=3;EQUIV(DROITE(F1;1);ALPHA;0)>0)
ce "filtre" devrait bien limiter les dérives
Cordialement
alors un simple rajout dans la fonction ET() :
GAUCHE(F1;2)*1>0;
suffira
Bonne suite et Merci Vaucluse
Edit : encore une trouvaille : la virgule et les (:)
mais là, je sèche, ou bien reprendre la fin de formule pour l'appliquer à gauche, avec une plage numérique (01, 02, 03, etc..) nommée (ex: NUMER) au Format TEXTE
l'ensemble devient :
' =ET(EQUIV(GAUCHE(F1;2);NUMER;0)>0;NBCAR(F1)=3;EQUIV(DROITE(F1;1);ALPHA;0)>0)
ce "filtre" devrait bien limiter les dérives
Cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir à tous,
celle-ci devrait être complète, contrôle minuscule compris :
=ET(NBCAR(A1)=3;GAUCHE(A1;1)>="0";GAUCHE(A1;1)<="9";STXT(A1;2;1)>="0";STXT(A1;2;1)<="9";CODE(DROITE(A1;1))>=97;CODE(DROITE(A1;1))<=108;GAUCHE(A1;2)*1<=12)
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
celle-ci devrait être complète, contrôle minuscule compris :
=ET(NBCAR(A1)=3;GAUCHE(A1;1)>="0";GAUCHE(A1;1)<="9";STXT(A1;2;1)>="0";STXT(A1;2;1)<="9";CODE(DROITE(A1;1))>=97;CODE(DROITE(A1;1))<=108;GAUCHE(A1;2)*1<=12)
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
Bonjour à tous,
une proposition à base d'expressions régulières :
L'intérêt réside dans l'adaptabilité à n'importe quelle règle (moyennant l'écriture du bon pattern quand même!).
Cordialement
une proposition à base d'expressions régulières :
Function saisie_ok(macellule) Dim regEx As New VBScript_RegExp_55.RegExp regEx.Pattern = "^(0[1-9]|1[0-2])\w$" regEx.IgnoreCase = False regEx.Global = True saisie_ok = regEx.Test(macellule) End FunctionNe pas oublier de charger la référence Microsoft VBScript_RegExp_55.RegExp
L'intérêt réside dans l'adaptabilité à n'importe quelle règle (moyennant l'écriture du bon pattern quand même!).
Cordialement