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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JB
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
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
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
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
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
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
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
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
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.