Blog

266 — Macro Word pour la bétalecture et la correction

Je suis un paresseux et je n’aime pas utiliser beaucoup d’énergie et de clics de souris pour arriver à mes fins, alors j’essaie de me faciliter la vie. J’avais déjà pu vous expliquer comment j’essayais d’accélérer ma vitesse de frappe et de sauvegarder ma concentration dans mon article 064 – Configuration de l’autocorrection & 067 – Les raccourcis vitaux pour naviguer dans le texte.

Aujourd’hui, je reviens avec un cadeau (oui, rien que ça) pour toutes celles et tous ceux qui corrigent des textes (les leurs et ceux des autres) : un système de gestion du type de corrections à apporter !

Comme c’est un peu (beaucoup) long, je vous mets un sommaire :

À quoi ça sert ?

Perso, quand je corrige le texte de quelqu’un, je mets tout en commentaire, parce que je ne touche pas au texte proprement dit. Mais jusqu’à maintenant, tous mes commentaires étaient signés du même auteur (logique !) et ressortaient donc de la même couleur dans le document. Difficile de voir d’un coup d’œil quels types de corrections il fallait apporter. Je devais créer un commentaire et taper, chaque fois, le type de problème : une virgule à mettre, à supprimer, une faute d’orthographe, de conjugaison, etc.

J’ai donc décidé d’écrire une macro sous Word pour automatiser un peu le truc. Et j’ai décidé de l’offrir, si ça peut vous servir aussi.
Pas d’inquiétude si vous n’y connaissez rien en programmation ni en macro, ça va bien se passer ! 😀

Je bosse avec la version 2010, mais ça devrait fonctionner avec à peu près toutes.


Petite présentation de comment ça se présente

Comment ça marche ?

Ça marche plutôt bien 😁

Plus sérieusement, pour peu que cela soit configuré sur Word, les différentes personnes qui auront apporté des modifications à votre document seront identifiées par des couleurs différentes. Il y a même possibilité d’afficher ou de masquer les commentaires et modifications en fonction de l’auteur.

La macro permet donc de changer rapidement le nom d’utilisateur de Word suivant le type de commentaire à apporter, de créer un commentaire et de le préremplir.

Pour aller vite, j’ai assigné un raccourci clavier (pour moi, j’ai pris le Shift+Ctrl+C parce qu’il ne me servait pas, mais vous pouvez choisir celui que vous préférez, mais attention à pas faire sauter un super utile, genre le Ctrl+C 😉 ), et j’ai écris quelques lignes de codes pour que ça fonctionne.

J’aurais pu utiliser directement plusieurs raccourcis, mais ça aurait grevé autant de raccourcis utile. Là, j’utilise Shift+Ctrl+C, s’il n’y a pas de sélection, ça me met un commentaire [Virgule], s’il y a une sélection, ça m’ouvre une petite fenêtre récapitulative des touches disponibles.

Pour celles et ceux qui savent déjà comment fonctionnent les macros et tout le reste, voici un lien pour télécharger directement la macro et le UserForm.

TÉLÉCHARGER LES FICHIERS

Partie technique

Pour les autres, continuons les explications :

Configuration de l’affichage des commentaires

D’abord, commençons par le début. Dans l’onglet Révisions, cliquez sur la partie basse du bouton Suivi des modifications, puis Modifier les options de suivi…

Dans la fenêtre correspondante, vérifier que les commentaires ont une couleur Selon l’auteur, comme sur l’image ci-dessous.

À partir de là, si vous récupérez un document sur lequel plusieurs personnes ont bossé, chacune aura une couleur différente (aléatoire, cherchez pas).

Onglet Développeur

Pour pouvoir gérer les macros, il faut que l’onglet Développeur soit disponible, ce qui n’est pas le cas à la base. Pour le faire apparaître, allez dans :

  1. Cliquez sur l’onglet Fichier.
  2. Cliquez sur Options.
  3. Cliquez sur Personnaliser le ruban.
  4. Sous Personnaliser le ruban et Onglets principaux, activez la case à cocher Développeur.

Une fois dans l’onglet Développeur, lancez l’éditeur Visual Basic :

Dans l’éditeur Visual Basic

Là, vous devriez avoir une belle fenêtre avec 12.000 sous-fenêtres. À gauche, ça devrait ressembler à ça :

Sauf que votre Project aura, entre parenthèse, le nom de votre fichier ouvert.

 

 

 

 

 

 

 

Dans Normal, si vous n’avez pas de module, créez-en un en cliquant sur le triangle pointant vers le bas de l’icône d’équerre+règle :

Choisissez Module.

Un nouveau module est ajouté à Normal. C’est important qu’il soit ajouté là et pas à votre projet en cours parce que sinon, la macro ne fonctionnera que dans ce projet. Alors que dans normal, la macro sera accessible avec tous vos textes.

 

Dans le module copiez le texte si dessous (attention, le texte déborde sur la droite de la fenêtre grise) :

Sub Corrections()
'
' Permet de modifier le nom de l'utilisateur de l'application pour 
' gérer les différents types de corrections apportées à un document
' Créé par Camille X. Morgan sous license CC-BY-NC (on ne sait jamais ^^)
'

'Récupération des identifiants d'origine
 nomOrigin = Application.UserName
 initOrigin = Application.UserInitials


 If Len(Selection.Range) > 0 Then 'Si la sélection est non vide, on lance le formulaire
 Load Frm_corrections
 Frm_corrections.Show
 
 Else 'sinon on considère qu'il faut juste une virgule (l'erreur la plus commune dans les textes que j'ai pu corriger)
 'on étend la sélection à l'espace
 Selection.Extend Character:=" "
 
 'on change le nom de l'utilisateur pour mettre le type de comm
 Application.UserName = "Virg" 'pour biaiser le système qui empêche de mettre un UserName vide ou un simple espace, j'ai mis un espace insécable
 Application.UserInitials = "Virg" 'idem ligne au-dessus
 Selection.Comments.Add Range:=Selection.Range
 ActiveWindow.Panes(2).Activate
 Selection.TypeText Text:="[Virgule]"
 
 'on remet le bon nom d'utilisateur
 Application.UserName = nomOrigin
 Application.UserInitials = initOrigin
 
 'on refocalise sur la fenêtre de texte
 '(ce qu'on ne fait pas avec les autres parce qu'on continue le commentaire
 'alors qu'ici, on n'ajoute rien)
 ActiveWindow.Panes(1).Activate
 
 'on déselectionne le tout
 Selection.EndOf
 End If

End Sub

 

Le formulaire

Pour le formulaire, vous avez le choix : soit vous importez le fichier .frm  qui se trouve par ici : https://www.dropbox.com/sh/b9t70311vyvb97f/AACzNGrMDWss9P8udtDUq9WQa?dl=0

Soit vous créez un formulaire avec cette tête :
(à base de simples labels)

Le mien a ces caractéristiques :

Et vous le remplissez avec le code suivant :

Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
 '
' Permet de modifier le nom de l'utilisateur de l'application pour gérer les différents types de corrections apportées à un document
' Créé par Camille X. Morgan sous license CC-BY-NC (on sait jamais ^^)
'
 'Si on appuie sur Echap : on sort du truc
 If KeyAscii = vbKeyEscape Then
 Me.Hide
 Unload Me
 Else 'C'est ici que le gros se passe
 'D'abord, on initialise le tableau des types de corrections et de leurs raccourcis claviers
 Dim Tableau_MesCorrections
 ReDim Tableau_MesCorrections(11, 3) '9 type de corrections, 3 éléments par type de corrections (ça, c'est fixe et ça n'a pas vocation à changer),
 
 Tableau_MesCorrections(0, 0) = "v" 'Raccourci clavier
 Tableau_MesCorrections(0, 1) = "Virg" 'Nom & initiales de « l'auteur » /!\ ne pas dépasser les 5 caractères
 Tableau_MesCorrections(0, 2) = "[Virgule]" 'Commentaire automatique
 
 Tableau_MesCorrections(1, 0) = "o"
 Tableau_MesCorrections(1, 1) = "Orth"
 Tableau_MesCorrections(1, 2) = "[Orthographe]"
 
 Tableau_MesCorrections(2, 0) = "s"
 Tableau_MesCorrections(2, 1) = "Style"
 Tableau_MesCorrections(2, 2) = "[Style]"
 
 Tableau_MesCorrections(3, 0) = "g"
 Tableau_MesCorrections(3, 1) = "Gram"
 Tableau_MesCorrections(3, 2) = "[Grammaire]"
 
 Tableau_MesCorrections(4, 0) = "c"
 Tableau_MesCorrections(4, 1) = "Conj"
 Tableau_MesCorrections(4, 2) = "[Conjugaison]"
 
 Tableau_MesCorrections(5, 0) = "t"
 Tableau_MesCorrections(5, 1) = "Typo"
 Tableau_MesCorrections(5, 2) = "[Typographie]"
 
 Tableau_MesCorrections(6, 0) = "e"
 Tableau_MesCorrections(6, 1) = "Esp"
 Tableau_MesCorrections(6, 2) = "[Espace insécable Alt+0160]"
 
 Tableau_MesCorrections(7, 0) = "b"
 Tableau_MesCorrections(7, 1) = "—"
 Tableau_MesCorrections(7, 2) = "[Cadratin —]"
 
 Tableau_MesCorrections(8, 0) = "d"
 Tableau_MesCorrections(8, 1) = "«»"
 Tableau_MesCorrections(8, 2) = "[Guillemets Français «»]"
 
 Tableau_MesCorrections(9, 0) = "x"
 Tableau_MesCorrections(9, 1) = "Suppr"
 Tableau_MesCorrections(9, 2) = "[À supprimer]"
 
 Tableau_MesCorrections(10, 0) = "."
 Tableau_MesCorrections(10, 1) = "Point"
 Tableau_MesCorrections(10, 2) = "[Point + majuscule]"
 
 
 ' on stocke les données Auteurs d'origine
 nomOrigin = Application.UserName
 initOrigin = Application.UserInitials
 
 'on cherche à voir si la touche appuyée correspond à au tableau
 For i = 0 To UBound(Tableau_MesCorrections) - 1
 'si la touche appuyée correspond à une entrée du tableau
 If LCase(Chr(KeyAscii)) = Tableau_MesCorrections(i, 0) Then 'le LCase(Chr(KeyAscii)) permet de prendre en compte la lettre tapée en majuscule ou en minuscule
 'on change le nom de l'utilisateur pour mettre le type de comm
 Application.UserName = Tableau_MesCorrections(i, 1) 'Nom de l'auteur
 Application.UserInitials = Tableau_MesCorrections(i, 1) 'Initiales de l'auteur : j'ai préféré garder le même que le nom de l'auteur, ça évite d'alourdir
 Selection.Comments.Add Range:=Selection.Range
 ActiveWindow.Panes(2).Activate
 Selection.TypeText Text:=Tableau_MesCorrections(i, 2)
 
 'on remet le bon nom d'utilisateur
 Application.UserName = nomOrigin
 Application.UserInitials = initOrigin
 
 'on sort du formulaire
 Me.Hide
 Unload Me
 
 End If
 Next i
 
 End If
End Sub

À partir de là, normalement, la macro “Correction” est active et si vous la lancez, tout fonctionne. Mais il faut encore aller cliquer dans l’onglet Développeur sur le bouton Macros, puis lancer la macro Corrections.

C’est long et chiant.

Le mieux est de configurer un raccourcis clavier :

Configuration du Raccourcis Clavier

Maintenant, il ne reste plus qu’à configurer le raccourci clavier et le tour est joué.

Dans le menu Ficher > Option (ça je vous fais pas l’affront de vous mettre une copie d’écran 😉). Dans la partie Personnaliser le Ruban, en bas, il y a la partie Raccourcis clavier. Il y a un bouton. Vous savez quoi faire avec, j’en suis sûr.


Ensuite, dans l’ordre de mes beaux numéros :

  • vous descendez tout en bas avec l’ascenseur n°1,
  • vous sélectionnez Macros (n°2),
  • vous sélectionnez la macro Corrections (n°3 (ou tout autre nom de macro que vous auriez décidé de lui donner),
  • Dans la case n°4, vous taper les raccourci clavier que vous voulez (avec les vraies touches pas, comme si c’était un texte, hein 🙃),
  • N°5 : vous vérifier bien que vous enregistrez ça dans le Normal.dotm (comme pour les macros),
  • N°6 : Vous cliquez le bouton Attribuer,
  • N°7 : Fermer.


https://media.giphy.com/media/xs32PreC4kow/giphy.gif

Normalement, ça fonctionne. Y a plus qu’à tester et à vous amuser.

Si vous avez lu jusqu’au bout, bravo, vous méritez un cookie !

N’hésitez pas à me faire des retours, à poser des questions si vous n’y arrivez pas ou si vous avez besoin de précisions.

4 Comments on “266 — Macro Word pour la bétalecture et la correction

    1. Je m’en sers aussi. C’est d’ailleurs grâce à libreoffice que j’ai eu l’idée de cette macro.
      J’aimerais d’ailleurs l’adapter mais je ne trouve pas de documentation bien faite pour apprendre le basic

  1. Et bien oui il arrive qu’on laisse des commentaires sur ton blog ! (Clin d’oeil au soupir twitterien ^^) Excellent article , je suis sûre que ça peut me servir à l’avenir, alors je garde le lien. Merci à toi pour les explications détaillées (même moi j’ai tout compris ! ^^)

Leave a Reply

Your email address will not be published. Required fields are marked *