Rechercher remplacer

germ971 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
germ971 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

Dans Word, par la technique du rechercher remplacer,  comment mettre une série de chiffres au format de sécurité sociale ?

Par exemple :

161079712417367 devient 1 61 07 97 124 173 67

Merci d'avance de vos réponses


Windows / Chrome 110.0.0.0

A voir également:

4 réponses

Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 354
 

Bonjou.

Ki santé aw ?

Ce n'est pas l'outil Rechercher-Remplacer qui peut résoudre ton problème, mais plutôt le paramètre de champ MERGEFIELD.

Le blog faqword.com de notre grande amie m@rina devrait t'y aider, par exemple la page Faqword - Le mystère des champs

Adan on dôt soley !


0
brucine Messages postés 21701 Date d'inscription   Statut Membre Dernière intervention   3 430
 

Bonjour,

e pur si muove

Toujours by  Courtesy of Marina, je n'ai aucun problème avec un espace.

Comme je suis fainéant, je fais rechercher, utiliser les caractères génériques, je prends juste la première partie
1610797, je demande rechercher:

([0-9]{1;1})([0-9]{1;2})([0-9]{1;2})([0-9]{1;2})

Pour le groupe suivant qui comporte 3 chiffres, je répète 3 séquences [0,9] parmi {1,3} et ainsi de suite, j'obtiens n groupes de chiffres, ici 4, je remplace par:

\1 \2 \3 \4

-1
brucine Messages postés 21701 Date d'inscription   Statut Membre Dernière intervention   3 430 > brucine Messages postés 21701 Date d'inscription   Statut Membre Dernière intervention  
 

Soyons fous, supposons que la syntaxe rechercher-remplacer me donne des boutons.

J'ouvre le fichier Word et un fichier Excel où je formate A1 en nombre sans décimale, j'y fais un copier-coller du fameux numéro SS.

En A2, j'écris:

=STXT(A1;1;1)&" "&STXT(A1;2;2)&" "&STXT(A1;4;2)&" "&STXT(A1;6;2)&" "&STXT(A1;8;3)&" "&STXT(A1;11;3)&" "&STXT(A1;14;2)

Je reviens dans mon fichier Word, je supprime le numéro SS, je fais un copier-coller de A2 à la place.

Les lecteurs vont me dire que j'ai plus vite fait de formater A1 format de cellule, spécial, numéro de sécurité sociale, pourquoi pas mais j'obtiens un pipe avant la clé:

1 61 07 97 124 173 | 67

qui va m'obliger à supprimer 2 caractères (le pipe et l'espace qui suit) une fois recopié dans Word.

Bien sûr, tout cela n'est utilisable que si j'ai un ou deux numéros de sécu, pas une liste longue comme leurs guichets d'attente.

Il faut alors peut-être se retourner vers un utilitaire, l'enfer c'est que Word c'est du format binaire où les éditeurs de texte se cassent les dents; peut-être via VBA (je botte en touche, je sais juste que ça existe) ou via PowerGrep s'il tourne encore sous Windows 10 et les versions récentes de Word.


https://www.powergrep.com/msword.html

-1
Geek > brucine Messages postés 21701 Date d'inscription   Statut Membre Dernière intervention  
 

Je pense que vous vous compliquez la vie 

ma méthode est plus rapide 

1
brucine Messages postés 21701 Date d'inscription   Statut Membre Dernière intervention   3 430 > Geek
 

Bonjour aussi,

De l'art, le sujet est sous les feux de la rampe des votes idiots (je sais, c'est un pléonasme qu'ils soient positifs ou négatifs) qui, dans la dernière hypothèse, encouragent à passer du temps à élaborer des solutions qui fonctionnent mais qui ne sont pas du goût d'autrui.

Je ne connais pas le contexte de la question: ta proposition permet de changer toutes les occurrences d'une chaîne particulière que l'on a choisie; la mienne de changer en une seule opération toutes celles des chaînes de 15 chiffres, donc l'hypothèse où existerait dans ce fichier une liste indigeste de numéros de sécu différents.

Je sais, rien n'est parfait dans ce bas monde: si le numéro SS concerné est accompagné disons du numéro de compte bancaire de la personne qui serait aussi composé d'une série d'au moins 15 caractères exclusivement numériques, on l'a dans le dos.

0
m@rina Messages postés 23885 Date d'inscription   Statut Contributeur Dernière intervention   11 464
 

Bonsoir,

Voici la solution complète pour le RR :

Rechercher :

([0-9]{1})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{3})([0-9]{3})([0-9]{2})

Remplacer par :

\1^s\2^s\3^s\4^s\5^s\6^s\7

Et si on fait ça souvent, il vaut mieux effectivement utiliser une macro :

Sub numsecu()
Application.ScreenUpdating = False
Selection.HomeKey Unit:=wdStory

        With Selection.Find
            .ClearFormatting
            .Replacement.ClearFormatting
            .Text = "([0-9]{1})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{3})([0-9]{3})([0-9]{2})"
            .Replacement.Text = "\1^s\2^s\3^s\4^s\5^s\6^s\7"
            .Forward = True
            .Wrap = wdFindStop
            .MatchWildcards = True
            .Execute Replace:=wdReplaceAll
        End With

End Sub

m@rina


0
brucine Messages postés 21701 Date d'inscription   Statut Membre Dernière intervention   3 430
 

Bonjour,

Yes, j'avais eu la flemme de compléter jusqu'au bout. Pourquoi un espace insécable ^s plutôt qu'un espace simple (pas de symbole)?

Et restant à savoir si l'on doit le cas échéant discriminer d'autres chaînes numériques d'au moins 15 caractères, et là on ne va pas être bien (sauf à vérifier le calcul du modulo pour la clé, improbable dans d'autres nombres) puisque le premier chiffre peut valoir 1,2,7 ou 8, le mois de 01 à 12 mais aussi 31 et que le reste n'est pas un nombre discriminant dans la plage concernée.

0
m@rina Messages postés 23885 Date d'inscription   Statut Contributeur Dernière intervention   11 464 > brucine Messages postés 21701 Date d'inscription   Statut Membre Dernière intervention  
 

Bonsoir,

Si l'on utilise la justification, mieux vaut utiliser un insécable pour homogénéité des espaces.

Par ailleurs, je ne sais pas comment est fait le document, mais si l'on ajoute des espaces, il y a des risques d'avoir des numéros coupés par des retours ligne.

m@rina

0
brucine Messages postés 21701 Date d'inscription   Statut Membre Dernière intervention   3 430 > m@rina Messages postés 23885 Date d'inscription   Statut Contributeur Dernière intervention  
 

Bonjour,

Oui, en effet, et ça n'a de toute façon pas grande importance parce que ces espaces n'apparaîtront qu'à l'écran, et seulement si on a choisi d'afficher la mise en forme, bien qu'alors pouvant être "perturbants" dans la lecture parce que plus gros que les marques d'espace simples.

0
germ971 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   2
 

Parfait la méthode "Marinaeene".

Ça fonctionne. 

Merci à tous. Je mets en résolu.

Bien à vous

0
GEEK3_3843 Messages postés 44 Date d'inscription   Statut Membre Dernière intervention  
 

Bonjour,

Tu peux utiliser CTRL + H pour faire cela;

Dis moi si cela marche. Merci.

Bonne journée

-2