Skip to main content
frederic.piton
Known Participant
October 28, 2024
Answered

Créer un espace après les milliers avec styles de paragraphes et de caractère

  • October 28, 2024
  • 4 replies
  • 1300 views

Bonjour, voici un moment que je me casse la tête à trouver un moyen pour créer un espace après les miliers via une approche de 200

 

123456 > 123 456

J'aimerais arriver à le faire via le grep dans un style de paragraphe et appliquer un style de caractère avec une apporche de 200 au 4e chiffre en partant de la droite.

 

Cela me semblait assez simple à réaliser, sauf que ça fait des heures que je me casse la tête avec les forums à trouver une solution.

 

Je veux utiliser des styles pour ne pas que le nombre qui vient d'une base de données soit changé par l'ajout d'espace etc, et devoir avoir des manipulations sur la data.

 

Si vous avez une idée?

 

MErci.

Frederic

This topic has been closed for replies.
Correct answer jmlevy

Bonjour @frederic.piton en partant du principe que les nombres que tu cherches n'ont pas plus de 6 chiffres et sont suivis d'une espace, tu peux appliquer un style de caractère « approche » via un style GREP avec cette syntaxe : 

\d(?=\d{3}\s)

Mais comme l'écrivent @Peter Kahrel et @JR Boulay un rechercger remplacer serait plus adéquat. Pour rebondir ce qu'écrit @JR Boulay c'est effectivement une espace fine qu'il faut insérer. Si tu veux utiliser ma technique, il faut donc attribuer une approche de 125 et pas 200 au style de caractère « approche »

4 replies

Peter Kahrel
Community Expert
Community Expert
October 29, 2024

Just for the record: Jean-Marc's solution works for 4-, 5, and 6-digit numbers. For numbers that consist of 7 or more digits you can't use a Grep style, you'll have to use a query like the one I posted.

FRIdNGE
October 29, 2024

Hi Peter,

 

The Grep Style expression I use is:

 

\d(?=(\d{3}(?!~j))+\b)

 

(^/)

Peter Kahrel
Community Expert
Community Expert
October 29, 2024

Very good! I'll eat my words. . .

jmlevy
Community Expert
jmlevyCommunity ExpertCorrect answer
Community Expert
October 28, 2024

Bonjour @frederic.piton en partant du principe que les nombres que tu cherches n'ont pas plus de 6 chiffres et sont suivis d'une espace, tu peux appliquer un style de caractère « approche » via un style GREP avec cette syntaxe : 

\d(?=\d{3}\s)

Mais comme l'écrivent @Peter Kahrel et @JR Boulay un rechercger remplacer serait plus adéquat. Pour rebondir ce qu'écrit @JR Boulay c'est effectivement une espace fine qu'il faut insérer. Si tu veux utiliser ma technique, il faut donc attribuer une approche de 125 et pas 200 au style de caractère « approche »

frederic.piton
Known Participant
October 28, 2024

Merci à tous pour votre aide.

 

En effet, je ne voulais pas Ajouter un caratère pour ne pas modifier la donnée, mais bien utiliser l'aproche.

 

@jmlevyC'est exactement le résultat que je m'attendais à avoir.

Formule simple, et effet direct visuellement dans la mise en page.

 

Merci infiniment !! 🙂

 

Il faut vraiment que je me mette au GREP d'une manière beaucoup plus précise...
C'est vraiment frustrant, quand on sait qu'il y a moyen de faire, mais qu'on n'arrive pas à le formuler correctemment.

Merci  Merci ! Merci !! 🙂

jmlevy
Community Expert
Community Expert
October 28, 2024

Il faut vraiment que je me mette au GREP d'une manière beaucoup plus précise...

LA bible, en français : https://www.indigrep.com/GREP_presentation.html

JR Boulay
Community Expert
Community Expert
October 28, 2024

Comme indiqué par Peter Kahrel ce n'est pas possible de faire ça avec un style GREP, qui ne permet d'ajouter des caractères. Vous devez utiliser le rechercher-remplacer.

Par ailleurs en français c'est une espace fine qu'il faut mettre dans les nombres, pas une espace.

Acrobate du PDF, InDesigner et Photoshopographe
frederic.piton
Known Participant
October 28, 2024

Bonjour et merci, malheureusement ce n'est pas ce que je cherchais à faire. Bonne journée,

Peter Kahrel
Community Expert
Community Expert
October 28, 2024

To insert thousand separators, use this query:

Find what: (\d{1,3})(?=(\d\d\d)+\b)
Change to: $1,

Instead of the comma in the 'Change to' string, use the character you need (one of the space characters I guess).

 

It's not possible to do this with a Grep style because Grep styles can't insert characters.

frederic.piton
Known Participant
October 28, 2024

Hello and thank you, unfortunately, this is not what I was trying to do. Have a good day.