OVH Cloud OVH Cloud

VBA et formatage

15 réponses
Avatar
Petit Denis
Bonjour

Voilà l'idée :
remplacer les espaces simples entre un nombre (décimal ou entier) et une
unité (pour éviter les retours à la lignes intempestifs).
Fort de ce que j'ai fait avec un simple rechercher-remplacer, j'ai mis le
tout en macro (un clic sur un petit bouton c'est plus vite fait que resaisir
la ligne de commande).

Donc le code est le suivant :
===
Sub spaceunits()
'
'remplace les espaces simples entre nombre et unités par l'espace insécable
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "([0-9]) "
.Replacement.Text = "\1^s"
.Forward = True
.MatchWildcards = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
===

Ça fonctionne bien sauf que...
Si j'ai un chiffre en indice juste après un caractère (lettre en général),
l'espace insécable se met également en indice.
Je voudrais donc que l'espace insécable reste à la bonne taille et à la
bonne "hauteur".

Si ça vous inspire, merci...

--
Petit Denis

5 réponses

1 2
Avatar
heureux-oli
Salut Geo,


Tu m'as fait douter et j'ai vérifié; tu as raison, c'est 160 le bon
caractère.
Pourtant 160 donne á :-( et 32 donne un espace.


--
Heureux-oli
http://heureuxoli.developpez.com/
http://word.developpez.com/

----------------------------------------------------------------------------------

"Geo" a écrit dans le message de news:

Bonjour

C'est ce que j'avais mis au départ, mais ce n'était pas concluant.
Pour trouver le bon code, j'ai utilisé un paragraphe et contrôlé tous les
caractères, de cette manière, j'étais certain d'avoir le bon.
Et j'ai eu 32.



C'est curieux, mais si ça marche ...

--
A+




Avatar
Petit Denis
Bonsoir

Faut dire que vouloir mettre un espace à la bonne hauteur sur une
ligne, Il y a de quoi se poser des questions.
A moins que Petit Denis imprime en blanc sur du papier en couleur.





Ça c'est vilain !

Ah oui !!! Avec la fonctionnalité de la triple buse ?... ;)))



C'est bien ce que je pensais !

Le problème est surtout qu'un caractère en indice est plus petit,
donc, ça rétrécit son espace !



C'est exacatement cela c'est moins la position que la taille qui pose non
posait problème puisque la solution de Circé est efficace et me convient
très bien !

Merci aussi aux autres contributeurs.

--
Petit Denis
Avatar
Geo
Bonjour

Tu m'as fait douter et j'ai vérifié; tu as raison, c'est 160 le bon caractère.
Pourtant 160 donne á :-( et 32 donne un espace.



Ok.

--
A+
Avatar
Geo
Bonjour

Ah oui !!! Avec la fonctionnalité de la triple buse ?... ;)))



C'est bien ce que je pensais !



C'est elle qui l'a dit !

--
A+
Avatar
Circé
Geo avait énoncé :
Bonjour

Ah oui !!! Avec la fonctionnalité de la triple buse ?... ;)))



C'est bien ce que je pensais !



C'est elle qui l'a dit !



Ah non ! C'est anacoluthe !! :D)))
1 2