I. Ce que nous voulons éviter▲
II. FAQ , pages cours et billets de forum, même combat !▲
II-A. FAQ et pages de cours▲
Le dispositif en place pour les FAQ et les pages cours permet d'encoder des espaces insécables en saisissant <ALT + 0160>, mais c'est tellement peu commode que cela est rarement mis en pratique.
II-B. Billets de forum▲
Jusqu'il y a peu, ce n'était pas possible d'encoder une espace insécable dans un billet : <ALT + 0160> rend un astérisque à l'écran.
Anomaly vient d'ajouter les balises [nbsp][/nbsp]. Si vous encodez cette chaine de caractères dans le texte d'un billet, le rendu sera celui d'une espace insécable. C'est une solution… mais pas très commode non plus !
III. Un outil pour se faciliter l'encodage▲
Dans le cadre des corrections de news (une dizaine de pages par jour) et des demandes de correction orthographique de FAQ et de pages de cours, je me suis confectionné un formulaire en Access pour faciliter ce genre de correction.
IV. Les étapes du processus▲
- D'abord corriger l'orthographe et la typographie du texte original en insérant des espaces (ordinaires) là où il en manque.
- <CTRL+A> et <CTRL+C> pour copier le texte dans le presse-papiers.
- Afficher le formulaire et <CTRL+V> pour coller le presse-papier dans la zone de texte.
- Cliquer le bouton ad hoc selon le contexte. Le presse-papiers contient maintenant le texte corrigé, c'est-à-dire le texte original dans lequel le programme a remplacé, là où il faut, les espaces ordinaires soit par [nbsp][/nbsp] (« Billets Forum ») soit par des espaces insécables (« FAQ et Pages de cours »).
- On revient sur la fenêtre DVP et <CTRL+V> pour y substituer le texte corrigé.
Bref, quelques secondes de plus pour la correction : peu d'effort supplémentaire au regard de la valeur ajoutée !
À titre de précaution, le texte original est stocké dans la zone de texte (carré vert).
Seule les combinaisons espace ordinaire/caractère les plus courantes sont traitées. (Voir le code pour plus de détails).
Pour les cas plus rares (espace devant un symbole d'unité, espaces pour séparer les chiffres dans les nombres à cinq chiffres et plus…), je me suis fait un raccourci clavier.
V. Le programme ▲
V-A. Code▲
Option
Compare Database
Option
Explicit
Private
Sub
BtFAQ_Click
(
)
Me.txtOriginal
=
Me.txt
'sauvegarde au cas où
Me.txt
=
Replace
(
Me.txt
, " ;"
, " ;"
) 'dans le 2e argument l'espace = <ALT + 0160>
Me.txt
=
Replace
(
Me.txt
, " :"
, " :"
)
Me.txt
=
Replace
(
Me.txt
, "« "
, "« "
)
Me.txt
=
Replace
(
Me.txt
, " »"
, " »"
)
Me.txt
=
Replace
(
Me.txt
, " !"
, " !"
)
Me.txt
=
Replace
(
Me.txt
, " ?"
, " ?"
)
Me.txt.SetFocus
DoCmd.RunCommand
acCmdCopy
End
Sub
Private
Sub
btForum_Click
(
)
Me.txtOriginal
=
Me.txt
'sauvegarde au cas où
Me.txt
=
Replace
(
Me.txt
, " ;"
, "[nbsp][/nbsp];"
)
Me.txt
=
Replace
(
Me.txt
, " :"
, "[nbsp][/nbsp]:"
)
Me.txt
=
Replace
(
Me.txt
, "« "
, "«[nbsp][/nbsp]"
)
Me.txt
=
Replace
(
Me.txt
, " »"
, "[nbsp][/nbsp]»"
)
Me.txt
=
Replace
(
Me.txt
, " !"
, "[nbsp][/nbsp]!"
)
Me.txt
=
Replace
(
Me.txt
, " ?"
, "[nbsp][/nbsp]?"
)
Me.txt
=
Replace
(
Me.txt
, " %"
, "[nbsp][/nbsp]%"
)
Me.txt.SetFocus
DoCmd.RunCommand
acCmdCopy
End
Sub
Private
Sub
txtOriginal_DblClick
(
Cancel As
Integer
)
Me.txtOriginal.SetFocus
Me.txtOriginal.SelStart
=
0
Me.txtOriginal.SelLength
=
Len
(
Me.txtOriginal.Text
)
DoCmd.RunCommand
acCmdCopy
End
Sub
V-B. Téléchargement▲
Le programme est ici.