1 votes

Dans Microsoft Word, comment empêcher les touches de raccourci de modifier la police de caractères lorsque rien n'est sélectionné ?

Je m'excuse pour le titre confus. Voici une explication du comportement que je voudrais personnaliser.

Dans Microsoft Word, les touches de raccourci "police de caractères" ( Ctrl+I , Ctrl+B , Ctrl+U ) jouent deux rôles :

  1. de changer la police de caractères du texte déjà tapé ; et
  2. pour changer la police de caractères qui sera utilisée pour le texte qui va être tapé.

Le rôle (1), à son tour, se produira dans deux contextes différents :

  • (a) lorsque le texte est sélectionné ; et
  • (b) lorsque le curseur est positionné au milieu d'un mot.

C'est le contexte (b) qui me pose problème, parce qu'il interfère avec le "suivi des modifications" (l'explication complète est compliquée, mais, en gros, Word traite un curseur comme étant "au milieu d'un mot" même si la moitié du mot est "insérée" et l'autre moitié est "supprimée" -- sans doute un bug).

Je voudrais donc désactiver le point b). Plus précisément, Je voudrais faire en sorte que lorsque Ctrl+I est appuyé et qu'aucun texte n'est sélectionné, aucune police de caractères n'est modifiée.

Est-ce possible ?

0voto

Rich Michaels Points 2743

Oui, avec les trois sous-routines VBA suivantes ajoutées à votre modèle normal, ou ajoutées à un modèle personnalisé distinct qui est chargé dans le dossier de démarrage de Word, ou dans le document lui-même s'il s'agit d'un document ".docm" activé par une macro.

Sub Bold()
'
' Bold Macro
' Makes the selection bold (toggle)
'
    If Not Selection.Range.Start = Selection.Range.End Then
        Selection.Font.Bold = wdToggle
    End If

End Sub
Sub Italic()
'
' Italic Macro
' Makes the selection italic (toggle)
'
    If Not Selection.Range.Start = Selection.Range.End Then
        Selection.Font.Italic = wdToggle
    End If

End Sub
Sub Underline()
'
' Underline Macro
' Formats the selection with a continuous underline (toggle)
'
    If Not Selection.Range.Start = Selection.Range.End Then
        If Selection.Font.Underline = wdUnderlineNone Then
            Selection.Font.Underline = wdUnderlineSingle
        Else
            Selection.Font.Underline = wdUnderlineNone
        End If
    End If

End Sub

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X