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
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
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
On 5 fév, 06:55, Jean-Paul V <JeanPa...@discussions.microsoft.com>
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
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
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
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
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
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
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 <JeanPa...@discussions.microsoft.com>
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
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
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
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
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
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.EnableEventsúlse 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
On 5 fév, 20:00, Jean-Paul V <JeanPa...@discussions.microsoft.com>
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 <JeanPa...@discussions.microsoft.com>
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
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.EnableEvents=False 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.
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
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.EnableEventsúlse 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.