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 ?
- Comment ça marche ?
- Partie technique
À 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.
Partie technique
Pour les autres, continuons les explications :
- Configuration de l’affichage des commentaires
- Affichage de l’Onglet Développeur
- Dans l’éditeur Visual Basic (ça n’est pas sale)
- Le formulaire (UserForm)
- Configuration du Raccourcis Clavier
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 :
- Cliquez sur l’onglet Fichier.
- Cliquez sur Options.
- Cliquez sur Personnaliser le ruban.
- 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 :
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.
Moi, je suis juste là pour le cookie. Pour le reste, je suis utilisateur de Libreoffice mais l’idée de cette macro est cool 🙂
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
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 ! ^^)
Merci pour ce commentaire ! Ça me fait plaisir si ça peut t’être utile 🙂