Rechercher remplacer

Fermé
germ971 Messages postés 12 Date d'inscription lundi 6 janvier 2020 Statut Membre Dernière intervention 9 décembre 2023 - 11 mars 2023 à 16:24
germ971 Messages postés 12 Date d'inscription lundi 6 janvier 2020 Statut Membre Dernière intervention 9 décembre 2023 - 14 mars 2023 à 11:21

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

4 réponses

Raymond PENTIER Messages postés 58397 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 26 avril 2024 17 094
11 mars 2023 à 18:32

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 14337 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 28 avril 2024 1 817
Modifié le 11 mars 2023 à 19:55

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 14337 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 28 avril 2024 1 817 > brucine Messages postés 14337 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 28 avril 2024
11 mars 2023 à 22:30

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 14337 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 28 avril 2024
12 mars 2023 à 09:32

Je pense que vous vous compliquez la vie 

ma méthode est plus rapide 

1
brucine Messages postés 14337 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 28 avril 2024 1 817 > Geek
12 mars 2023 à 10:18

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 20090 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 28 avril 2024 11 272
12 mars 2023 à 17:59

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 14337 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 28 avril 2024 1 817
12 mars 2023 à 18:19

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 20090 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 28 avril 2024 11 272 > brucine Messages postés 14337 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 28 avril 2024
14 mars 2023 à 02:56

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 14337 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 28 avril 2024 1 817 > m@rina Messages postés 20090 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 28 avril 2024
14 mars 2023 à 08:11

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 lundi 6 janvier 2020 Statut Membre Dernière intervention 9 décembre 2023 1
14 mars 2023 à 11:21

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 jeudi 27 octobre 2022 Statut Membre Dernière intervention 27 juillet 2023
11 mars 2023 à 18:44

Bonjour,

Tu peux utiliser CTRL + H pour faire cela;

Dis moi si cela marche. Merci.

Bonne journée

-2