Interdire une lettre

Fermé
DITESMOICOMMENTFOFAIRE Messages postés 1 Date d'inscription mercredi 4 décembre 2019 Statut Membre Dernière intervention 4 décembre 2019 - 4 déc. 2019 à 13:01
 Ditesmoicommentfofaire - 5 déc. 2019 à 10:12
bonjour,

ayant déjà une validation des données et ne sachant pas en ajouter une autre ,
comment en VBA interdire la saisie d'une lettre dans une plage ?
merci !!!!
A voir également:

3 réponses

JCB40 Messages postés 2926 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 4 octobre 2024 462
4 déc. 2019 à 13:36
Bonjour,
Un exemple de votre fichier avec explications serait le bienvenu.
Pour transmettre un fichier,
Veillez à ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
Cordialement

0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
Modifié le 4 déc. 2019 à 15:08
Bonjour,

Pas besoin de VBA, pour une validation de donnée multicritères, il faut utiliser une validation personnalisée avec une formule qui renvoie le booléen VRAI pour accepter la donnée (et donc FAUX pour la refuser).

Par exemple, pour ajouter en A1, le critère : ne contient pas la lettre A, utiliser la fonction ET() :
=ET(PremierCritère; TROUVE("A";A1 & "A")>NBCAR(A1))

0
Ditesmoicommentfofaire
4 déc. 2019 à 15:55
En fait j'ai déjà une autre validation des données pour cette cellule... C pour cela que j'aimerai passer par vba..
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
Modifié le 4 déc. 2019 à 16:24
VBA n'apportera rien de plus !
C'est quoi la validation existante ?
Voir https://forums.commentcamarche.net/forum/affich-36345281-interdire-une-lettre#4
0
Ditesmoicommentfofaire
5 déc. 2019 à 06:34
La vdd existante est sur la longueur du texte
Comprise entre
Minimum 7
Maximum 8
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
Modifié le 5 déc. 2019 à 08:44
Donc la formule devient :
=ET(OU(NBCAR(A1)=7;NBCAR(A1)=8); TROUVE("O";A1 & "O")>NBCAR(A1))
Exemple :
https://mon-partage.fr/f/HIx67sP3/
0
Ditesmoicommentfofaire
5 déc. 2019 à 09:34
Merci. Je regarde
0
Ditesmoicommentfofaire
4 déc. 2019 à 15:25
Bonjour. Impossible d'envoyer mon fichier car il est sur mon poste au bureau et réseau très surveillé et restreint..

Plus précisément, il ne faut pas que l'on puisse saisir la lettre O dans une chaine de 8 caractères alphanumériques dans la cellule a1 par exemple..

Merciiii
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
Modifié le 4 déc. 2019 à 15:49
Re,

Formule de validation pour la cellule A1 (à adapter) :
=ET(NBCAR(A1)=8; TROUVE("O";A1 & "O")>NBCAR(A1))

Refusera toute saisie de longueur différente à 8 caractères et toute saisie contenant la lettre O (majuscule).

EDIT : pour refuser aussi bien O (majuscule) que o (minuscule) remplacer TROUVE par CHERCHE
0