Données Validation Liste

Le
Jean-Paul V
Bonjour à tous

Je contrôle les entrées dans une colonne par un Données Validation Liste,
ma liste est un champ de libellés. Si l’utilisateur écrit un libellé erroné
au lieu d’utiliser la zone de liste, le système lui offre le choix entre
Réessayer et Annuler, si par malheur il choisi Réessayer, il n’a plus accès à
la zone de liste, sauf s’il efface ( et pas supprimer) le contenu de la
cellule. Y a-t-il une solution à ce petit problème ?

Je souhaiterais que dans ce cas de figure on aie accès à la zone de liste ou
que la cellule soit effacée

@+ j’espère
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4188961
On 5 fév, 06:55, Jean-Paul V wrote:
Bonjour à tous

Je contrôle les entrées dans une colonne par un Données Validation Liste,
ma liste est un champ de libellés. Si l'utilisateur écrit un libell é erroné
au lieu d'utiliser la zone de liste, le système lui offre le choix entre
Réessayer et Annuler, si par malheur il choisi Réessayer, il n'a plus accès à
la zone de liste, sauf s'il efface ( et pas supprimer) le contenu de la
cellule. Y a-t-il une solution à ce petit problème ?

Je souhaiterais que dans ce cas de figure on aie accès à la zone de l iste ou
que la cellule soit effacée

@+ j'espère


Bonjour,

Je n'ai pas trouvé + simple.

Données/Validation/Liste/Alerte Erreur/Informations

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([C2:C10], Target) Is Nothing And Target.Count = 1
Then
If IsError(Application.Match(Target.Value, [liste], 0)) Then
Application.EnableEvents = False
Target = Empty
Application.EnableEvents = True
End If
End If
End Sub

http://cjoint.com/?cfiisPaZqV


Cordialement JB

Jean-Paul V
Le #4184931
Merci JB ça marche ! ! !

Il me reste à comprendre comment.

Je suis toujours autant époustouflé que l'on puisse trouver une solution
d'une manière si rapide, merci encore.


On 5 fév, 06:55, Jean-Paul V wrote:
Bonjour à tous

Je contrôle les entrées dans une colonne par un Données Validation Liste,
ma liste est un champ de libellés. Si l'utilisateur écrit un libellé erroné
au lieu d'utiliser la zone de liste, le système lui offre le choix entre
Réessayer et Annuler, si par malheur il choisi Réessayer, il n'a plus accès à
la zone de liste, sauf s'il efface ( et pas supprimer) le contenu de la
cellule. Y a-t-il une solution à ce petit problème ?

Je souhaiterais que dans ce cas de figure on aie accès à la zone de liste ou
que la cellule soit effacée

@+ j'espère


Bonjour,

Je n'ai pas trouvé + simple.

Données/Validation/Liste/Alerte Erreur/Informations

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([C2:C10], Target) Is Nothing And Target.Count = 1
Then
If IsError(Application.Match(Target.Value, [liste], 0)) Then
Application.EnableEvents = False
Target = Empty
Application.EnableEvents = True
End If
End If
End Sub

http://cjoint.com/?cfiisPaZqV


Cordialement JB





JB
Le #4184861
On 5 fév, 20:00, Jean-Paul V wrote:
Merci JB ça marche ! ! !

Il me reste à comprendre comment.

Je suis toujours autant époustouflé que l'on puisse trouver une solut ion
d'une manière si rapide, merci encore.




On 5 fév, 06:55, Jean-Paul V wrote:
Bonjour à tous

Je contrôle les entrées dans une colonne par un Données Valida tion Liste,
ma liste est un champ de libellés. Si l'utilisateur écrit un libe llé erroné
au lieu d'utiliser la zone de liste, le système lui offre le choix entre
Réessayer et Annuler, si par malheur il choisi Réessayer, il n'a plus accès à
la zone de liste, sauf s'il efface ( et pas supprimer) le contenu de la
cellule. Y a-t-il une solution à ce petit problème ?

Je souhaiterais que dans ce cas de figure on aie accès à la zone de liste ou
que la cellule soit effacée

@+ j'espère


Bonjour,

Je n'ai pas trouvé + simple.

Données/Validation/Liste/Alerte Erreur/Informations

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([C2:C10], Target) Is Nothing And Target.Count = 1
Then
If IsError(Application.Match(Target.Value, [liste], 0)) Then
Application.EnableEvents = False
Target = Empty
Application.EnableEvents = True
End If
End If
End Sub

http://cjoint.com/?cfiisPaZqV

Cordialement JB- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -


Le principe est simple:
-On s'assure avec Macth(Equiv) que la valeur frappée appartient bien à
la liste autorisée.
-Si ce n'est pas le cas, on efface la valeur frappée.
-Application.EnableEventslse désactive la gestion des evénements
pour éviter que la procédure Change soit à nouveau activée lorsque
l'on vide la cellule avec Target=Empty.


JB



Publicité
Poster une réponse
Anonyme