FORMULE DOUBLE NB.SI et Nombre de caractères

tallia64

XLDnaute Occasionnel
Bonjour à tout le Forum,

J'ai un petit fichier composé de deux feuilles matrice et résultat.
Sur la feuille résultat j'ai appliqué une validation des données "=NB.SI($A:$A;A2)<2"
Je souhaiterai rajouter à cette formule un autre NB.SI de manière à ce que ça m'indique si je saisis
un doublon qui est dans la feuille matrice soit =NB.SI(REF;A2)=0
J'ai renommé ma plage de données REF mais sans succès.
Mes deux colonnes sont en format texte car sur certaines cellules je rajoute un zero devant la valeur.
Une autre petite chose vu que j'ai déjà utilisé la validation de données je cherche un code vba pour bloquer la
saisie dans ma colonne A sur 10 caractères.
Pouvez vous m'aider s'il vous plait ?
Je vous remercie d'avance.
Tallia :)
 

Pièces jointes

  • DOUBLONS.xlsx
    5.6 MB · Affichages: 36

Modeste

XLDnaute Barbatruc
Bonjour Tallia,

Si j'ai bien compris, tu devrais pouvoir mettre les 3 critères dans la Validation de données, avec une formule comme:
Code:
=ET(NB.SI($A:$A;$A2)<2;NB.SI(MATRICE!$A$2:$A$150000;$A2)=0;NBCAR($A2)<11)

Ça ne fonctionne pas avec une plage nommée, chez moi (Excel 2016)

PS: visiblement, David n'a pas encore eu le temps de réduire la taille des fichiers qu'on peut joindre! On n'avait pas besoin de toute ta liste! :)
 

tallia64

XLDnaute Occasionnel
Bonjour Modeste,

Merci beaucoup pour ton aide. je viens de tester ça fonctionne parfaitement.
Cependant je ne voulais mettre le test de la longueur des caractères dans une macro pour pouvoir différencier le message car quand je teste sur le nombre de caractères il me marque "vous avez saisi un doublon" il reprend par défaut le message de la validation des données.
A moins que l'on puisse rajouter un second message dans la validation des données ? J'ai essayé sans succès...
Encore un grand merci.
Bonne journée.

Tallia :)
 

tallia64

XLDnaute Occasionnel
Bonjour JHA,

Merci beaucoup pour ton message et ton aide. Je me sers beaucoup de la MFC
Cependant vu que les personnes qui vont saisir ne connaissent pas la bureautique je préfère mettre un message.
Je suis donc en train de chercher un code vba.
Merci encore.
Bonne journée.

Tallia :)
 

Modeste

XLDnaute Barbatruc
Re-bonjour,
Salut JHA :)

Un clic droit sur l'onglet de la feuille Résultat > Visualiser le code > Coller ce qui suit:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
If Target = "" Then Exit Sub
If Len(Target) > 10 Then MsgBox "Votre saisie ne peut dépasser 10 caractères": Target = ""
End Sub
Ici, le contenu est effacé ... mais on peut être moins "radical" :rolleyes:
 

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 323
Membres
102 862
dernier inscrit
Emma35400