Partager via

Neutralisation des touches flèches clavier dans Excel 2007

Anonyme
2024-02-28T21:02:45+00:00

Bonsoir,

Quel code VBA puis-je introduire dans un fichier Excel 2007 pour neutraliser (rendre inactives) les touches flèches du clavier à l'ouverture du fichier ? J'ai essayé des solutions du type

Private Sub Workbook_Open()

Application.OnKey "{Up}", ""

Application.OnKey "{Down}", ""

Application.OnKey "{Left}", ""

Application.OnKey "{Right}", ""

End Sub

Mais cela ne fonctionne pas sous Excel 2007. Il faudrait que la solution - si elle existe - fonctionne sur PC et sur Mac.

Merci d'avance 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

8 réponses

  1. Anonyme
    2024-03-01T13:17:21+00:00

    Ah, non. Dans les événements Worksheet, on a bien BeforeDoubleClick et BeforeRightClick, voire SelectionChange, mais rien pour juste Click.

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

    0 commentaires Aucun commentaire
  2. Anonyme
    2024-03-01T11:21:59+00:00

    Merci pour ta recherche. Connais-tu un code VBA qui détecte que la sélection d'une cellule a été obtenue par un clic souris et non par une touche clavier ?

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

    0 commentaires Aucun commentaire
  3. Anonyme
    2024-02-29T12:54:55+00:00

    Oui, problème (voir le descriptif sur cette page) :

    L’événement KeyPress ne se produit pas dans les conditions suivantes :

    • appui sur la touche Tab ;
    • appui sur la touche Entrée ;
    • appui sur une touche fléchée ;
    • lorsque la frappe déplace le focus d’un contrôle à un autre.

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

    0 commentaires Aucun commentaire
  4. Anonyme
    2024-02-29T10:13:32+00:00

    Merci ! J'ai essayé de faire autrement pour mon PC.

    En détectant l'appui sur une touche flèche. et en affectant alors une valeur à une variable qui sera testée dans la suite du code. Mais cela ne fonctionne pas. Voici ce code :

    Public selectedValue As Variant

    Private Sub Worksheet_KeyPress(ByVal Target As Range, KeyAscii As Long)

    Select Case Chr(KeyAscii)

    Case Chr(vbKeyUp): 
    
        selectedValue = 1000 
    
    Case Chr(vbKeyDown): 
    
        selectedValue = 1000 
    
    Case Chr(vbKeyLeft): 
    
        selectedValue = 1000 
    
    Case Chr(vbKeyRight): 
    
        selectedValue = 1000      
    

    End Select

    End Sub

    Ce code semble être ignoré en cas d'appui sur une flèche et la valeur de selectedValue reste inchangée.

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

    0 commentaires Aucun commentaire
  5. Anonyme
    2024-02-28T23:56:19+00:00

    Erreur et correction : ces lignes, telles que tu les as écrites, ça marche sur Mac. Pour Excel 2007, je ne sais pas.

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

    0 commentaires Aucun commentaire