XL 2013 Validation personnalisée AAA00_000_000

emmaPace

XLDnaute Nouveau
Bonjour !
Je cherche à créer une validation personnalisée pour mes données se trouvant dans ma colonne V, démarrant à V5.
Je souhaite que les données aient toutes cette forme :
QDV00_000_000
avec QDV qui ne change pas (peut importe de conserver les majuscules), le premier set 00 qui peut valoir de 00 à 99, et les deux autres sets 000 qui peuvent varier de 000 à 999
De plus, j'aimerai vérifier qu'il n'y ait pas de doublon au sein de ma colonne V

J'ai testé ce code là :
Code:
=ET(STXT(V5;1;3)="QDV";NBCAR(V5;3)=2;STXT(V5;6;1)="_";NBCAR(V5;7)=3;STXT(V5,10;1)="_";NBCAR(V5;11)=3)

qui ne marche pas (mes données ne sont pas validées alors qu'elles ont le format voulu)
Pouvez vous m'aider ?

Merci beaucoup !
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @emmaPace,
Bienvenue sur XLD :),

Une formule matricielle en W5 à copier/tirer vers le bas:
VB:
=(GAUCHE(MAJUSCULE(V5);3)="QDV")*PRODUIT(--ESTNUM(1*STXT(V5;{4;5;7;8;9;11;12;13};1)))*PRODUIT(--(STXT(V5;{6;10};1)="_"))*(NB.SI(V:V;V5)=1)=1


1631228480371.png
 

Pièces jointes

  • emmaPace-validation texte-v1.xlsx
    10.6 KB · Affichages: 4

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

Une variante: on modifie la formule (qui reste matricielle) pour ne compter faux que les doublons de rang supérieur à un.
La première apparition est comptée comme OK. C'est à partir des occurrences 2 et plus qu'on considère que ce sont des doublons.
VB:
=(GAUCHE(MAJUSCULE(V5);3)="QDV")*PRODUIT(--ESTNUM(1*STXT(V5;{4;5;7;8;9;11;12;13};1)))*PRODUIT(--(STXT(V5;{6;10};1)="_"))*(NB.SI(V$5:V5;V5)=1)=1
 

Pièces jointes

  • emmaPace-validation texte-v2.xlsx
    10.7 KB · Affichages: 2

emmaPace

XLDnaute Nouveau
Bonjour !
Merci beaucoup pour votre aide !


Quand j'entre la formule dans la boite de dialogue, et valide par CTRL+MAJ+ENTER, j'ai le message suivant :
Capture.PNG

Par contre, en ajoutant un espace avant la formule, je peux le valider. En revanche, il me refuse des QDV05_001_001
Savez vous d'ou vient le pb ?

Autre question : je ne souhaite pas avoir de colonne Vrai/Faux, j'aimerai simplement que le message d'erreur apparaisse en cas de formule incorrecte dans la colonne V. Je copie une de vos formules dans la boite de dialogue Validation de données, fais CTRL+ALT+ENTER pour fermer la boite, mais toutes les cases de la colonne V gardent la référence à V5, la formule ne se "tire pas"
Savez vous comment faire ? (sans adapter la formule a la main sur les 130 ligneso_O)

Merci beaucoup !
 

Statistiques des forums

Discussions
311 720
Messages
2 081 899
Membres
101 834
dernier inscrit
Jeremy06510