Comment appliquer des "Rules" dans une cellule
Résolu/Fermé
infopige
Messages postés
11
Date d'inscription
jeudi 16 août 2012
Statut
Membre
Dernière intervention
8 juin 2013
-
8 janv. 2013 à 16:57
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 - 9 janv. 2013 à 11:20
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 - 9 janv. 2013 à 11:20
A voir également:
- Comment appliquer des "Rules" dans une cellule
- Comment aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Verrouiller cellule excel - Guide
- Comment désinstaller une application sur pc - Guide
- Excel additionner des cellules - Guide
6 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 416
8 janv. 2013 à 17:02
8 janv. 2013 à 17:02
Bonjour
.. et avez vous une liste des valeurs possibles admises dans la cellule?
à vous lire
.. et avez vous une liste des valeurs possibles admises dans la cellule?
à vous lire
infopige
Messages postés
11
Date d'inscription
jeudi 16 août 2012
Statut
Membre
Dernière intervention
8 juin 2013
8 janv. 2013 à 17:09
8 janv. 2013 à 17:09
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
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 416
Modifié par Vaucluse le 8/01/2013 à 17:15
Modifié par Vaucluse le 8/01/2013 à 17:15
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
infopige
Messages postés
11
Date d'inscription
jeudi 16 août 2012
Statut
Membre
Dernière intervention
8 juin 2013
8 janv. 2013 à 17:37
8 janv. 2013 à 17:37
É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
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 416
Modifié par Vaucluse le 8/01/2013 à 18:10
Modifié par Vaucluse le 8/01/2013 à 18:10
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
infopige
Messages postés
11
Date d'inscription
jeudi 16 août 2012
Statut
Membre
Dernière intervention
8 juin 2013
8 janv. 2013 à 21:30
8 janv. 2013 à 21:30
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
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
Modifié par eriiic le 8/01/2013 à 23:21
Modifié par eriiic le 8/01/2013 à 23:21
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.
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
9 janv. 2013 à 11:20
9 janv. 2013 à 11:20
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