Pavé numérique se désactive après une recherche en VBA

Résolu/Fermé
Sellig34 Messages postés 6 Date d'inscription vendredi 22 janvier 2021 Statut Membre Dernière intervention 6 mars 2023 - 6 mars 2023 à 14:00
via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 - 6 mars 2023 à 15:19

Bonjour à tous et merci par avance pour votre aide.

J’ai créé un fichier Excel, qui comporte 2 feuilles :

Feuille 1 : avec un formulaire de saisie

Feuille 2 : une base de données

J’ai 3 macros

Dans la feuille 1 j’ai un bouton de macro :

  • Macro1 basique qui m’envoie sur la feuille 2

Dans la feuille 2 j’ai deux boutons de macros :

Macro2 basique qui me permet de revenir sur la feuille 1 :

Sub Macro2()
’ Macro2 Macro
Sheets(« Formulaire »).Select
Range(« J7 »).Select
End Sub

Macro3 qui permet d’effectuer des recherches :

Sub Rechercher()
Application.SendKeys (« ^f »)
With CreateObject(« WScript.Shell »)
.SendKeys « {NUMLOCK} »
End With
End Sub

(J’ai trouvé cette formule ‘’Rechercher’’ sur Internet.)

Jusque-là tout fonctionne parfaitement.

Seulement, lorsque j’exécute la Macro3 et qu’ensuite je reviens sur la feuille 1 par l’intermédiaire de la macro2 le pavé numérique est désactivé.

Il me manque certainement un code à quelque part. J’ai fouillé partout sur internet, mais rien trouvé.
J’aimerai que le pavé numérique s’active après l’exécution d’une macro.

Merci infiniment de votre aide.

Bien cordialement

A voir également:

1 réponse

via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 2 738
6 mars 2023 à 15:19

Bonjour

Je ne comprends pas pourquoi il y a dans ta macro

.SendKeys « {NUMLOCK} »

qui justement doit simuler un clic sur la touche Verr Num qui donc est désactivée si elle était activée

Personnellement j'utiliserai plutôt cette commande pour ouvrir la boité de dialogue Rechercher en VBA  plutôt que de simuler le raccourci clavier

Sub rechercher()
Application.Dialogs(xlDialogFormulaFind).Show
end sub

​

Cdlmnt

Via


1