J'ai 1 zone de liste (Me.Champs) où je peux sélectionner plusieurs valeurs.
Si 1 certaine condition est atteinte (pour plus de commodité, on va dire que
la condition est de 3 sélections),
je veux annuler ma dernière sélection.
J'ai donc mis mon code dans :
Private Sub Champs_BeforeUpdate(Cancel As Integer)
...
Je détecte ma condition :
pour l'exemple
If Me.Champs.ItemsSelected.Count > 3 Then
et dans ce cas, je veux annuler :
MsgBox "Annulation"
Cancel = 1
Me.Champs.Undo
End if
End sub
Mais cela ne fonctionne pas.
A la 4e sélection, j'ai bien la boîte Annulation qui apparait
mais ma 4e sélection ne se déselectionne pas
Je ne comprends pas non plus à quoi sert la ligne :
Cancel = 1
car apparement, c'est la ligne :
Me.Champs.Undo
qui devrait annuler la mise à jour
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
Raymond
RE.
Essaie de faire ceci sur ton champ de liste qui s'appelle Liste183 par exemple:
Private Sub Liste183_Click() Dim C As Integer Dim I As Variant For Each I In Me.Liste183.ItemsSelected If Me!Liste183.Selected(I) = True Then C = C + 1 End If Next I If C > 3 Then Me!Liste183.Selected(Me.Liste183.ListIndex) = False End If End Sub
un 4e clic sera interdit, mais si tu désélectionnes tu pourras à nouveau sélectionner, sans test d'erreur.
(je t'avais envoyé ce message vers 17 H mais je ne le vois pas)
-- @+ Raymond Access MVP. http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/charte.htm pour une meilleure efficacité de tes interventions sur MPFA.
"Stéphane Lavergne" a écrit dans le message de news:
Bonjour,
J'ai 1 zone de liste (Me.Champs) où je peux sélectionner plusieurs valeurs.
Si 1 certaine condition est atteinte (pour plus de commodité, on va dire que
la condition est de 3 sélections), je veux annuler ma dernière sélection.
J'ai donc mis mon code dans : Private Sub Champs_BeforeUpdate(Cancel As Integer) ...
Je détecte ma condition : pour l'exemple If Me.Champs.ItemsSelected.Count > 3 Then
et dans ce cas, je veux annuler : MsgBox "Annulation" Cancel = 1 Me.Champs.Undo End if End sub
Mais cela ne fonctionne pas. A la 4e sélection, j'ai bien la boîte Annulation qui apparait mais ma 4e sélection ne se déselectionne pas
Je ne comprends pas non plus à quoi sert la ligne : Cancel = 1 car apparement, c'est la ligne : Me.Champs.Undo qui devrait annuler la mise à jour
Merci d'avance pour votre aide
Cordialement,
Stéphane Lavergne
RE.
Essaie de faire ceci sur ton champ de liste qui s'appelle Liste183 par
exemple:
Private Sub Liste183_Click()
Dim C As Integer
Dim I As Variant
For Each I In Me.Liste183.ItemsSelected
If Me!Liste183.Selected(I) = True Then
C = C + 1
End If
Next I
If C > 3 Then
Me!Liste183.Selected(Me.Liste183.ListIndex) = False
End If
End Sub
un 4e clic sera interdit, mais si tu désélectionnes tu pourras à nouveau
sélectionner, sans test d'erreur.
(je t'avais envoyé ce message vers 17 H mais je ne le vois pas)
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.
"Stéphane Lavergne" <no@spam.fr> a écrit dans le message de
news:OMBnAXxlDHA.3316@tk2msftngp13.phx.gbl...
Bonjour,
J'ai 1 zone de liste (Me.Champs) où je peux sélectionner plusieurs
valeurs.
Si 1 certaine condition est atteinte (pour plus de commodité, on va dire
que
la condition est de 3 sélections),
je veux annuler ma dernière sélection.
J'ai donc mis mon code dans :
Private Sub Champs_BeforeUpdate(Cancel As Integer)
...
Je détecte ma condition :
pour l'exemple
If Me.Champs.ItemsSelected.Count > 3 Then
et dans ce cas, je veux annuler :
MsgBox "Annulation"
Cancel = 1
Me.Champs.Undo
End if
End sub
Mais cela ne fonctionne pas.
A la 4e sélection, j'ai bien la boîte Annulation qui apparait
mais ma 4e sélection ne se déselectionne pas
Je ne comprends pas non plus à quoi sert la ligne :
Cancel = 1
car apparement, c'est la ligne :
Me.Champs.Undo
qui devrait annuler la mise à jour
Essaie de faire ceci sur ton champ de liste qui s'appelle Liste183 par exemple:
Private Sub Liste183_Click() Dim C As Integer Dim I As Variant For Each I In Me.Liste183.ItemsSelected If Me!Liste183.Selected(I) = True Then C = C + 1 End If Next I If C > 3 Then Me!Liste183.Selected(Me.Liste183.ListIndex) = False End If End Sub
un 4e clic sera interdit, mais si tu désélectionnes tu pourras à nouveau sélectionner, sans test d'erreur.
(je t'avais envoyé ce message vers 17 H mais je ne le vois pas)
-- @+ Raymond Access MVP. http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/charte.htm pour une meilleure efficacité de tes interventions sur MPFA.
"Stéphane Lavergne" a écrit dans le message de news:
Bonjour,
J'ai 1 zone de liste (Me.Champs) où je peux sélectionner plusieurs valeurs.
Si 1 certaine condition est atteinte (pour plus de commodité, on va dire que
la condition est de 3 sélections), je veux annuler ma dernière sélection.
J'ai donc mis mon code dans : Private Sub Champs_BeforeUpdate(Cancel As Integer) ...
Je détecte ma condition : pour l'exemple If Me.Champs.ItemsSelected.Count > 3 Then
et dans ce cas, je veux annuler : MsgBox "Annulation" Cancel = 1 Me.Champs.Undo End if End sub
Mais cela ne fonctionne pas. A la 4e sélection, j'ai bien la boîte Annulation qui apparait mais ma 4e sélection ne se déselectionne pas
Je ne comprends pas non plus à quoi sert la ligne : Cancel = 1 car apparement, c'est la ligne : Me.Champs.Undo qui devrait annuler la mise à jour
Merci d'avance pour votre aide
Cordialement,
Stéphane Lavergne
Stéphane Lavergne
Merci Raymond
mais... cela suppose que je dois cliquer dans l'ordre de la liste pour supprimer le bon 4e
en efffet, si je selectionne dans cet ordre les éléments n° : 2, 15, 7 et 3, cela va me désélectionner le n° 15 au lieu du n° 3.
Comme je n'ai pas trouvé de chose qui fonctionne non plus de mon côté, j'ai juste mis 1 msgbox d'alerte, sans traitement derrière.
Stéphane
"Raymond" a écrit dans le message de news:3f94217a$0$27030$
RE.
Essaie de faire ceci sur ton champ de liste qui s'appelle Liste183 par exemple:
Private Sub Liste183_Click() Dim C As Integer Dim I As Variant For Each I In Me.Liste183.ItemsSelected If Me!Liste183.Selected(I) = True Then C = C + 1 End If Next I If C > 3 Then Me!Liste183.Selected(Me.Liste183.ListIndex) = False End If End Sub
un 4e clic sera interdit, mais si tu désélectionnes tu pourras à nouveau sélectionner, sans test d'erreur.
(je t'avais envoyé ce message vers 17 H mais je ne le vois pas)
-- @+ Raymond Access MVP. http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/charte.htm pour une meilleure efficacité de tes interventions sur MPFA.
"Stéphane Lavergne" a écrit dans le message de news:
Bonjour,
J'ai 1 zone de liste (Me.Champs) où je peux sélectionner plusieurs valeurs.
Si 1 certaine condition est atteinte (pour plus de commodité, on va dire que
la condition est de 3 sélections), je veux annuler ma dernière sélection.
J'ai donc mis mon code dans : Private Sub Champs_BeforeUpdate(Cancel As Integer) ...
Je détecte ma condition : pour l'exemple If Me.Champs.ItemsSelected.Count > 3 Then
et dans ce cas, je veux annuler : MsgBox "Annulation" Cancel = 1 Me.Champs.Undo End if End sub
Mais cela ne fonctionne pas. A la 4e sélection, j'ai bien la boîte Annulation qui apparait mais ma 4e sélection ne se déselectionne pas
Je ne comprends pas non plus à quoi sert la ligne : Cancel = 1 car apparement, c'est la ligne : Me.Champs.Undo qui devrait annuler la mise à jour
Merci d'avance pour votre aide
Cordialement,
Stéphane Lavergne
Merci Raymond
mais...
cela suppose que je dois cliquer dans l'ordre de la liste pour supprimer le
bon 4e
en efffet,
si je selectionne dans cet ordre les éléments n° : 2, 15, 7 et 3,
cela va me désélectionner le n° 15 au lieu du n° 3.
Comme je n'ai pas trouvé de chose qui fonctionne non plus de mon côté,
j'ai juste mis 1 msgbox d'alerte, sans traitement derrière.
Stéphane
"Raymond" <XYZ.access.seneque@free.fr> a écrit dans le message de
news:3f94217a$0$27030$626a54ce@news.free.fr...
RE.
Essaie de faire ceci sur ton champ de liste qui s'appelle Liste183 par
exemple:
Private Sub Liste183_Click()
Dim C As Integer
Dim I As Variant
For Each I In Me.Liste183.ItemsSelected
If Me!Liste183.Selected(I) = True Then
C = C + 1
End If
Next I
If C > 3 Then
Me!Liste183.Selected(Me.Liste183.ListIndex) = False
End If
End Sub
un 4e clic sera interdit, mais si tu désélectionnes tu pourras à nouveau
sélectionner, sans test d'erreur.
(je t'avais envoyé ce message vers 17 H mais je ne le vois pas)
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.
"Stéphane Lavergne" <no@spam.fr> a écrit dans le message de
news:OMBnAXxlDHA.3316@tk2msftngp13.phx.gbl...
Bonjour,
J'ai 1 zone de liste (Me.Champs) où je peux sélectionner plusieurs
valeurs.
Si 1 certaine condition est atteinte (pour plus de commodité, on va dire
que
la condition est de 3 sélections),
je veux annuler ma dernière sélection.
J'ai donc mis mon code dans :
Private Sub Champs_BeforeUpdate(Cancel As Integer)
...
Je détecte ma condition :
pour l'exemple
If Me.Champs.ItemsSelected.Count > 3 Then
et dans ce cas, je veux annuler :
MsgBox "Annulation"
Cancel = 1
Me.Champs.Undo
End if
End sub
Mais cela ne fonctionne pas.
A la 4e sélection, j'ai bien la boîte Annulation qui apparait
mais ma 4e sélection ne se déselectionne pas
Je ne comprends pas non plus à quoi sert la ligne :
Cancel = 1
car apparement, c'est la ligne :
Me.Champs.Undo
qui devrait annuler la mise à jour
mais... cela suppose que je dois cliquer dans l'ordre de la liste pour supprimer le bon 4e
en efffet, si je selectionne dans cet ordre les éléments n° : 2, 15, 7 et 3, cela va me désélectionner le n° 15 au lieu du n° 3.
Comme je n'ai pas trouvé de chose qui fonctionne non plus de mon côté, j'ai juste mis 1 msgbox d'alerte, sans traitement derrière.
Stéphane
"Raymond" a écrit dans le message de news:3f94217a$0$27030$
RE.
Essaie de faire ceci sur ton champ de liste qui s'appelle Liste183 par exemple:
Private Sub Liste183_Click() Dim C As Integer Dim I As Variant For Each I In Me.Liste183.ItemsSelected If Me!Liste183.Selected(I) = True Then C = C + 1 End If Next I If C > 3 Then Me!Liste183.Selected(Me.Liste183.ListIndex) = False End If End Sub
un 4e clic sera interdit, mais si tu désélectionnes tu pourras à nouveau sélectionner, sans test d'erreur.
(je t'avais envoyé ce message vers 17 H mais je ne le vois pas)
-- @+ Raymond Access MVP. http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/charte.htm pour une meilleure efficacité de tes interventions sur MPFA.
"Stéphane Lavergne" a écrit dans le message de news:
Bonjour,
J'ai 1 zone de liste (Me.Champs) où je peux sélectionner plusieurs valeurs.
Si 1 certaine condition est atteinte (pour plus de commodité, on va dire que
la condition est de 3 sélections), je veux annuler ma dernière sélection.
J'ai donc mis mon code dans : Private Sub Champs_BeforeUpdate(Cancel As Integer) ...
Je détecte ma condition : pour l'exemple If Me.Champs.ItemsSelected.Count > 3 Then
et dans ce cas, je veux annuler : MsgBox "Annulation" Cancel = 1 Me.Champs.Undo End if End sub
Mais cela ne fonctionne pas. A la 4e sélection, j'ai bien la boîte Annulation qui apparait mais ma 4e sélection ne se déselectionne pas
Je ne comprends pas non plus à quoi sert la ligne : Cancel = 1 car apparement, c'est la ligne : Me.Champs.Undo qui devrait annuler la mise à jour
Merci d'avance pour votre aide
Cordialement,
Stéphane Lavergne
Raymond
Bonjour.
ça désélectionne le dernier composé qui est en trop, si j'ai bien travaillé.
-- @+ Raymond Access MVP. http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/charte.htm pour une meilleure efficacité de tes interventions sur MPFA.
"Stéphane Lavergne" a écrit dans le message de news:
Merci Raymond
mais... cela suppose que je dois cliquer dans l'ordre de la liste pour supprimer le
bon 4e
en efffet, si je selectionne dans cet ordre les éléments n° : 2, 15, 7 et 3, cela va me désélectionner le n° 15 au lieu du n° 3.
Comme je n'ai pas trouvé de chose qui fonctionne non plus de mon côté, j'ai juste mis 1 msgbox d'alerte, sans traitement derrière.
Stéphane
Bonjour.
ça désélectionne le dernier composé qui est en trop, si j'ai bien travaillé.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.
"Stéphane Lavergne" <no@spam.fr> a écrit dans le message de
news:OeGcAf7lDHA.1960@TK2MSFTNGP12.phx.gbl...
Merci Raymond
mais...
cela suppose que je dois cliquer dans l'ordre de la liste pour supprimer
le
bon 4e
en efffet,
si je selectionne dans cet ordre les éléments n° : 2, 15, 7 et 3,
cela va me désélectionner le n° 15 au lieu du n° 3.
Comme je n'ai pas trouvé de chose qui fonctionne non plus de mon côté,
j'ai juste mis 1 msgbox d'alerte, sans traitement derrière.
ça désélectionne le dernier composé qui est en trop, si j'ai bien travaillé.
-- @+ Raymond Access MVP. http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/charte.htm pour une meilleure efficacité de tes interventions sur MPFA.
"Stéphane Lavergne" a écrit dans le message de news:
Merci Raymond
mais... cela suppose que je dois cliquer dans l'ordre de la liste pour supprimer le
bon 4e
en efffet, si je selectionne dans cet ordre les éléments n° : 2, 15, 7 et 3, cela va me désélectionner le n° 15 au lieu du n° 3.
Comme je n'ai pas trouvé de chose qui fonctionne non plus de mon côté, j'ai juste mis 1 msgbox d'alerte, sans traitement derrière.