Neutraliser la touche "Entrée"

Anonyme
2021-12-07T13:56:05+00:00

Bonjour,

Comment neutraliser la touche Entrée. Par exemple, on dit que la cellule A1 est limitée à 10. Quand cette valeur limite est dépassée, on déclenche une MsgBox.

Ma question est : après un clic sur la touche OK de la MsgBox, j’aimerai bloquer la touche Entrée pour que la sélection ne passe pas à la cellule voisine et par la même occasion, vider la valeur erronée.

Merci pour votre aide

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

42 réponses

  1. DanielCo 107.1K Points de réputation
    2021-12-07T15:06:52+00:00

    Essaie :

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$A$1" Then Exit Sub
    If Target > 10 Then
    MsgBox ">10"
    Application.EnableEvents = False
    Target = ""
    Application.EnableEvents = True
    [A1].Select
    End If
    End Sub

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Supprimé

    Cette réponse a été supprimée en raison d’une violation de notre Code de conduite. La réponse a été signalée manuellement ou identifiée via la détection automatisée avant que l’action ne soit entreprise. Pour obtenir plus d’informations, veuillez consulter notre Code de conduite.


    Les commentaires ont été désactivés. En savoir plus

  3. Anonyme
    2021-12-07T14:38:34+00:00

    bonjour,

    avec ton code on n'empêche pas le sélection de B1 et c'est cela que j'aimerai éviter. Le but est de rester sur A1 et de le vider tant la valeur est incorrect après le clic de la MsgBox.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. DanielCo 107.1K Points de réputation
    2021-12-07T14:27:07+00:00

    Bonjour,

    Essaie :

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$A$1" Then Exit Sub
    If Target > 10 Then
    MsgBox ">10"
    Application.EnableEvents = False
    Target = ""
    Application.EnableEvents = True
    End If
    End Sub

    Cordialement.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  5. Anonyme
    2021-12-07T14:25:01+00:00

    Ce que tu décris est typiquement le genre de choses qu'on obtient avec la "Validation" (onglet "Données" du ruban, groupe "Outils de données") :

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire