Macro pour inverser facilement deux caractères dans Word
Par David, mardi 28 février 2006 à 18:38 :: Trucs et astuces :: Permalien
Je ne sais pas ce qu'il en est pour vous mais, lorsque j'écris, j'inverse sans arrêt des lettres (conenxion, génail, etc.). Un logiciel comme Emacs (qui est le meilleur éditeur de texte dans cette galaxie), permet très facilement de corriger ce genre de fautes, par exemple Ctrl+t inverse la position de deux caractères. Mais Emacs est un peu arride et, surtout, au boulot on travaille dans Microsoft Word !
J'aime beaucoup Word, vraiment, mais ce genre de fonctions lui manque. Du moins à ma connaissance, ça n'existe pas.
Voici donc une petite macro qui permet de faire à peu près la même chose. Elle inverse la position du caractère situé à droite du curseur avec celui situé à gauche du curseur :

à ça :

Allez dans Outils -> Macros ->Macros (Alt+F8). Dans la fenêtre, donnez un nom à votre future macro. Ici je la nomme, avec beaucoup d'originalité, InverserDeuxLettres :

Pour que cette macro soit disponible dans tous vos fichiers Word, enregistrez la dans normal.dot:

Cliquez sur Créer et collez le code suivant dans la fenêtre qui s'affiche :
Sub InverserDeuxLettres()
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
Selection.Cut
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.PasteAndFormat (wdPasteDefault)
Selection.MoveRight Unit:=wdCharacter, Count:=1
End Sub
Refermez la fenêtre. La macro est automatiquement sauvegardée sous le nom que vous lui avez donné. Pour l'exécuter, allez dans Outils -> Macros ->Macros, sélectionnez votre macro dans la liste et cliquez sur Exécuter.
Si vous préférez, il est possible de faire une macro qui inverse les deux derniers caractères situés à gauche du curseur, pour passer de ça :

à ça :

Utilisez le code suivant :
Sub InverserDeuxLettres()
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
Selection.Cut
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.PasteAndFormat (wdPasteDefault)
End Sub
Les macros sont vraiment pratiques pour nous soulager de ce genre de choses. En plus, il est possible de les créer sans devoir rien coder soi-même : utilisez l'enregistreur de macro (allez dans Outils->Macros->Nouvelle macro). C'est comme ça que j'ai « codé » ces deux macros ;-)
Pour qu'elles soient vraiment utiles, associez ce genre de macros à des raccourcis clavier, via le menu Outils->Personnaliser et cliquez sur le bouton Clavier en bas de la fenêtre qui s'affiche. Elles seront alors disponibles très facilement, du bout des doigts. Vous n'aurez même plus besoin d'arrêter d'écrire pour corriger vos fautes.


