Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Validation liste sans doublons

6 réponses
Avatar
ABED HADDOU
Bonsoir à tous le monde
Pour valider une cellule de la plage b17 à b32 j’utilise une liste
(Données>Validation>Liste) Formule=ListeClients
Je voulais éviter les doublons lors de la sélection c'est-à-dire lorsque je
sélectionne une deuxième fois un code qui figure déjà
Dans une cellule de la plage b17 à b32 un message m’averti que ce code et
déjà saisi.
J’ai essayé avec = ET (nb.si($b$17 :$b$32 ;b17)=1 ;ListeClients) mais cà n’a
pas marché.

Merci par d’avance

Abed_H

6 réponses

Avatar
Jacky
Bonjour,
Je voulais éviter les doublons lors de la sélection


'-----------
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Intersect([b17:b32], Target) Is Nothing Or Target.Count > 1 Then Exit Sub
If Application.CountIf([b17:b32], Target) > 1 Then
MsgBox "Existant"
Target = ""
End If
End Sub
'-----------
Salutations
JJ

"ABED HADDOU" a écrit dans le message
de news:
Bonsoir à tous le monde
Pour valider une cellule de la plage b17 à b32 j'utilise une liste
(Données>Validation>Liste) Formule=ListeClients
Je voulais éviter les doublons lors de la sélection c'est-à-dire lorsque
je

sélectionne une deuxième fois un code qui figure déjà
Dans une cellule de la plage b17 à b32 un message m'averti que ce code et
déjà saisi.
J'ai essayé avec = ET (nb.si($b$17 :$b$32 ;b17)=1 ;ListeClients) mais cà n
'a

pas marché.

Merci par d'avance

Abed_H



Avatar
ABED HADDOU
Bonjour * Jacky * et merci pour ta réponse
mais je cherche une une solution par excel (formule) quelque chose du genre
= nb.si(a17:a32;a17)=1

Abed_H



Bonjour,
Je voulais éviter les doublons lors de la sélection


'-----------
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Intersect([b17:b32], Target) Is Nothing Or Target.Count > 1 Then Exit Sub
If Application.CountIf([b17:b32], Target) > 1 Then
MsgBox "Existant"
Target = ""
End If
End Sub
'-----------
Salutations
JJ

"ABED HADDOU" a écrit dans le message
de news:
Bonsoir à tous le monde
Pour valider une cellule de la plage b17 à b32 j'utilise une liste
(Données>Validation>Liste) Formule=ListeClients
Je voulais éviter les doublons lors de la sélection c'est-à-dire lorsque
je

sélectionne une deuxième fois un code qui figure déjà
Dans une cellule de la plage b17 à b32 un message m'averti que ce code et
déjà saisi.
J'ai essayé avec = ET (nb.si($b$17 :$b$32 ;b17)=1 ;ListeClients) mais cà n
'a

pas marché.

Merci par d'avance

Abed_H








Avatar
Jacky
Re...
Ben, si la plage est déjà occupée par une "validation liste"
Amha c'est la seule solution ou alors une MFC et la peinturlurer en rouge.
Ou alors j'ai pas compris.

JJ

"ABED HADDOU" a écrit dans le message
de news:
Bonjour * Jacky * et merci pour ta réponse
mais je cherche une une solution par excel (formule) quelque chose du
genre

= nb.si(a17:a32;a17)=1

Abed_H



Bonjour,
Je voulais éviter les doublons lors de la sélection


'-----------
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Intersect([b17:b32], Target) Is Nothing Or Target.Count > 1 Then Exit
Sub


If Application.CountIf([b17:b32], Target) > 1 Then
MsgBox "Existant"
Target = ""
End If
End Sub
'-----------
Salutations
JJ

"ABED HADDOU" a écrit dans le
message


de news:
Bonsoir à tous le monde
Pour valider une cellule de la plage b17 à b32 j'utilise une liste
(Données>Validation>Liste) Formule=ListeClients
Je voulais éviter les doublons lors de la sélection c'est-à-dire
lorsque



je
sélectionne une deuxième fois un code qui figure déjà
Dans une cellule de la plage b17 à b32 un message m'averti que ce code
et



déjà saisi.
J'ai essayé avec = ET (nb.si($b$17 :$b$32 ;b17)=1 ;ListeClients) mais
cà n



'a
pas marché.

Merci par d'avance

Abed_H










Avatar
JB
Bonjour,

http://cjoint.com/?gwlNIPSPfl

En colonne A, un item ne peut pas être choisi plusieurs fois
-On crée une liste différence entre la liste de base et la liste de
ceux déjà choisis.
Sélectionner E2:E8
=INDEX(ListeTous;PETITE.VALEUR(SI(ESTNA(EQUIV(ListeTous;ListeChoisis;0)); EQUIV(ListeTous;ListeTous;0);"");LIGNE(INDIRECT("1:"&LIGNES(ListeTous)))))
Valider avec Maj+Ctrl+entrée

Listes en A2:A5: Données/Validation/Liste
ÞCALER($E$2;;;NB.SI($E$2:$E$7;"<>#NOMBRE!"))

Cordialement JB



Bonjour * Jacky * et merci pour ta réponse
mais je cherche une une solution par excel (formule) quelque chose du gen re
= nb.si(a17:a32;a17)=1

Abed_H



Bonjour,
Je voulais éviter les doublons lors de la sélection


'-----------
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Intersect([b17:b32], Target) Is Nothing Or Target.Count > 1 Then Exi t Sub
If Application.CountIf([b17:b32], Target) > 1 Then
MsgBox "Existant"
Target = ""
End If
End Sub
'-----------
Salutations
JJ

"ABED HADDOU" a écrit dans le message
de news:
Bonsoir à tous le monde
Pour valider une cellule de la plage b17 à b32 j'utilise une liste
(Données>Validation>Liste) Formule=ListeClients
Je voulais éviter les doublons lors de la sélection c'est-à-dir e lorsque
je

sélectionne une deuxième fois un code qui figure déjà
Dans une cellule de la plage b17 à b32 un message m'averti que ce c ode et
déjà saisi.
J'ai essayé avec = ET (nb.si($b$17 :$b$32 ;b17)=1 ;ListeClients ) mais cà n
'a

pas marché.

Merci par d'avance

Abed_H










Avatar
Jacky
Bonjour JB
Chapeau pour le fichier joint.
Il y a de quoi faire.
Merci
JJ

"JB" a écrit dans le message de
news:
Bonjour,

http://cjoint.com/?gwlNIPSPfl

En colonne A, un item ne peut pas être choisi plusieurs fois
-On crée une liste différence entre la liste de base et la liste de
ceux déjà choisis.
Sélectionner E2:E8
=INDEX(ListeTous;PETITE.VALEUR(SI(ESTNA(EQUIV(ListeTous;ListeChoisis;0));EQU
IV(ListeTous;ListeTous;0);"");LIGNE(INDIRECT("1:"&LIGNES(ListeTous)))))
Valider avec Maj+Ctrl+entrée

Listes en A2:A5: Données/Validation/Liste
ÞCALER($E$2;;;NB.SI($E$2:$E$7;"<>#NOMBRE!"))

Cordialement JB



Bonjour * Jacky * et merci pour ta réponse
mais je cherche une une solution par excel (formule) quelque chose du
genre

= nb.si(a17:a32;a17)=1

Abed_H



Bonjour,
Je voulais éviter les doublons lors de la sélection


'-----------
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Intersect([b17:b32], Target) Is Nothing Or Target.Count > 1 Then Exit
Sub


If Application.CountIf([b17:b32], Target) > 1 Then
MsgBox "Existant"
Target = ""
End If
End Sub
'-----------
Salutations
JJ

"ABED HADDOU" a écrit dans le
message


de news:
Bonsoir à tous le monde
Pour valider une cellule de la plage b17 à b32 j'utilise une liste
(Données>Validation>Liste) Formule=ListeClients
Je voulais éviter les doublons lors de la sélection c'est-à-dire
lorsque



je
sélectionne une deuxième fois un code qui figure déjà
Dans une cellule de la plage b17 à b32 un message m'averti que ce code
et



déjà saisi.
J'ai essayé avec = ET (nb.si($b$17 :$b$32 ;b17)=1 ;ListeClients) mais
cà n



'a
pas marché.

Merci par d'avance

Abed_H










Avatar
ABED HADDOU
merci beaucoup Monsieur JB je viens de voir ta réponse et le fichier Joint
c'est exactement ce que je cherchais. pravo et chapau comme elle dit jacky.

Abed_H


"JB" wrote:

Bonjour,

http://cjoint.com/?gwlNIPSPfl

En colonne A, un item ne peut pas être choisi plusieurs fois
-On crée une liste différence entre la liste de base et la liste de
ceux déjà choisis.
Sélectionner E2:E8
=INDEX(ListeTous;PETITE.VALEUR(SI(ESTNA(EQUIV(ListeTous;ListeChoisis;0));EQUIV(ListeTous;ListeTous;0);"");LIGNE(INDIRECT("1:"&LIGNES(ListeTous)))))
Valider avec Maj+Ctrl+entrée

Listes en A2:A5: Données/Validation/Liste
ÞCALER($E$2;;;NB.SI($E$2:$E$7;"<>#NOMBRE!"))

Cordialement JB



Bonjour * Jacky * et merci pour ta réponse
mais je cherche une une solution par excel (formule) quelque chose du genre
= nb.si(a17:a32;a17)=1

Abed_H



Bonjour,
Je voulais éviter les doublons lors de la sélection


'-----------
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Intersect([b17:b32], Target) Is Nothing Or Target.Count > 1 Then Exit Sub
If Application.CountIf([b17:b32], Target) > 1 Then
MsgBox "Existant"
Target = ""
End If
End Sub
'-----------
Salutations
JJ

"ABED HADDOU" a écrit dans le message
de news:
Bonsoir à tous le monde
Pour valider une cellule de la plage b17 à b32 j'utilise une liste
(Données>Validation>Liste) Formule=ListeClients
Je voulais éviter les doublons lors de la sélection c'est-à-dire lorsque
je

sélectionne une deuxième fois un code qui figure déjà
Dans une cellule de la plage b17 à b32 un message m'averti que ce code et
déjà saisi.
J'ai essayé avec = ET (nb.si($b$17 :$b$32 ;b17)=1 ;ListeClients) mais cà n
'a

pas marché.

Merci par d'avance

Abed_H