Rechercher remplacer
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
- Rechercher remplacer
- Rechercher remplacer word - Guide
- Remplacer disque dur par ssd - Guide
- Rechercher ou entrer l'adresse - Guide
- Rechercher image - Guide
- Remplacer coco - Accueil - Réseaux sociaux
4 réponses
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 !
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
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.
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
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
Je pense que vous vous compliquez la vie
ma méthode est plus rapide
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.