Bonjour,
Tout d'abord sachez que c'est mon premier poste sur votre Site que je consulte régulierement, donc merci pour tout.
Je doit créer une macro sous Word afin de rechercher et remplacer du texte (jusqu'ici je sais faire).
Là ou cela ce complique c'est je dois remplacer des chaines qui repondent à un certain formalisme.
J'ai des chaine du type "p18923456-5"
d'autre du type "p18923456-5N"
Le but de cette macro est donc de rajouter le N la ou il n'y en a pas.
Ces chaines répondes toujours au meme formalisme:
P + 8 caracteres +"-"+ 1 caratere (Plus "N") le tous encadré par des espaces.
Espérant avoir été assez clair je compte sur vous car mon niveau en VBA est hazardeux.
Il te faut "éclater" ta chaîne dans un array (la fonction split à voir dans ton aide en ligne)
Tu peux (selon ton contexte, "éclater" en utilisant le séparateur espace ou le séparateur " (qui me parait mieux ici)
Tu parcours ensuite les items de l'array obtenu et tu compares en utilisant l'opérateur Like (à voir dans ton aide en ligne) en appliquant le filtre "?########-#" ===>> si correspondance : tu ajoutes ton "N" derrière.
Tu recomposes ton texte ensuite, par concaténation des items ainsi modifiés et de ton séparateur.
Voilà ! Dit ainsi, cela peut paraître du chinois, mais ce sera très clair lorsque tu te seras documenté sur la fonction Split et sur l'opérateur Like. (en supposant, bien évidemment, que tu sais parcourir au moins, par boucle For .. to ..., les items d'un Array)
.
Salut, et avec RECHERCHEV ou RECHERCHEH, ça marche pas ?
Chris...
- La vérité n'est pas ailleurs, elle est sous le nez de chacun, quelques mouvements neuronale permettent de l'entrevoir -
MCPD (webform-winform) / MCSA / MCDST / MCT