Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

questions sur macro

3 réponses
Avatar
JMM21
Bonjour à tous,

Je me permets de revenir sur les codes
permettant de modifier l'action de la touche
Entrée, ceci afin d'éviter,
d'une part, l'utilisation intempestive de cette touche
(foutant le bazarre dans les champs d'un formulaire)
et de pouvoir passer d'un champ à l'autre
en affectant les mêmes fonctionnalités que la touche TAB
ou les touches de direction.

Rappel :

Sub AffecterRCTab()
CustomizationContext = ActiveDocument.AttachedTemplate
' Affecter la macro à la touche Entrée
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyReturn), _
KeyCategory:=wdKeyCategoryMacro, Command:="InsererTab"
End Sub

Sub InsererTab()
Selection.InsertAfter vbTab
End Sub

Sub RemettreEnEtat()
CustomizationContext = ActiveDocument.AttachedTemplate
FindKey(KeyCode:=BuildKeyCode(wdKeyReturn)).Disable
' Disables prompt to save template changes.
'Templates(1).Save
End Sub

premier problème :
la fonction Selection.InsertAfter vbTab ne peut pas s'exécuter
dans un formulaire protégé.
deuxième problème :
si on ôte la protection dans la macro, cette fonction insère
une tabulation dans le champ actif.

Par contre la fonction Selection.NextField
permet de passer au champ suivant.

troisième problème :
si je passe bien au champ suivant,
le formulaire étant déverrouillé, la macro
associée au champ à sa sortie ne s'exécute pas.

D'où ma première question :
Existe-t-il un code reproduisant exactement
la fonctionnalité de la touche TAB quand on
est dans un formulaire protégé ?
Je ne l'ai pas trouvé (même dans le livre de Géo
eh, oui je l'ai acheté...)

J'ose la seconde :
Après avoir modifié la fonctionnalité
de la touche Entrée et après avoir pris soin
également de la RemettreEnEtat
dans une macro Auto_Close, dans l'hypothèse où on quitte le document
à la hussarde (ou bien suite à un plantage), la touche Entrée
retrouvera-t-elle sa mission première ?

A votre bon cœur

Merci

JMM21

Pour les questions de style, nage avec le courant ; sur les questions de
principe, sois solide comme un roc.
[Thomas Jefferson]

3 réponses

Avatar
Geo

Je me permets de revenir sur les codes
permettant de modifier l'action de la touche
Entrée, ceci afin d'éviter,
d'une part, l'utilisation intempestive de cette touche
(foutant le bazarre dans les champs d'un formulaire)
et de pouvoir passer d'un champ à l'autre
en affectant les mêmes fonctionnalités que la touche TAB
ou les touches de direction.
[...]

D'où ma première question :
Existe-t-il un code reproduisant exactement
la fonctionnalité de la touche TAB quand on
est dans un formulaire protégé ?


Il y a la solution du sendkeys, qui est en général celle du dernier
recours et qui ne marche pas toujours.
SendKeys "{Tab}", True

à la place de l'insert

Je ne l'ai pas trouvé (même dans le livre de Géo
eh, oui je l'ai acheté...)


Bon achat :-)
Mais effectivement, j'ai essayé de traiter surtout des cas plus
courants.

J'ose la seconde :
Après avoir modifié la fonctionnalité
de la touche Entrée et après avoir pris soin
également de la RemettreEnEtat
dans une macro Auto_Close, dans l'hypothèse où on quitte le document
à la hussarde (ou bien suite à un plantage), la touche Entrée
retrouvera-t-elle sa mission première ?


C'est le rôle des contextes, mais rien ne vaut l'expérimentation.
En cas de plantage, on ne peut pas intervenir en effet, mais on peut
intercepter la tentative de fermeture du document, voir la conversation
lancer quelques heures avant la votre par Marc : désactiver la croix de
fermeture.

Pour les questions de style, nage avec le courant ; sur les questions de
principe, sois solide comme un roc.
[Thomas Jefferson]


Hé hé Anacoluthe fait des émules.

--
A+

Avatar
JMM21
Merci à Géo qui a répondu à la question ...

Existe-t-il un code reproduisant exactement
la fonctionnalité de la touche TAB quand on
est dans un formulaire protégé ?


Il y a la solution du sendkeys, qui est en général celle du dernier
recours et qui ne marche pas toujours.
SendKeys "{Tab}", True
à la place de l'insert


Ca marche !!!


Merci


Avatar
Geo


Merci à Géo qui a répondu à la question ...

Existe-t-il un code reproduisant exactement
la fonctionnalité de la touche TAB quand on
est dans un formulaire protégé ?


Il y a la solution du sendkeys, qui est en général celle du dernier
recours et qui ne marche pas toujours.
SendKeys "{Tab}", True
à la place de l'insert


Ca marche !!!



Super !
Merci pour le retour.

--
A+