Word 2011 : extraire les adresses mail via rechercher et remplacer

Dimitri2018

Membre confirmé
18 Mai 2018
46
0
57
Bonjour,

J'ai un document word dans lequel il y a des adresses mails en lien hypertexte et des noms (parfois collés à l'adresse mail mais pas dans le lien hypertexte) et je voudrais pouvoir extraire ces adresses ou effacer les autres mots ou lettres qui se trouvent dans le document.
Je ne sais pas quoi rentrer comme information dans rechercher. (word 2011)

Capture d’écran 2018-10-12 à 11.43.40.webp Capture d’écran 2018-10-12 à 11.53.26.webp

Merci pour vos aides
 
Dernière édition par un modérateur:
Je ne vois pas trop ce que tu veux faire via "Rechercher/Remplacer". Mais ça ne me semble pas l'outil le plus approprié. Disons que je ferais plutôt ça à base de macro VBA, sur une base du genre :

Sub Extraire()
For Each HL In ActiveDocument.Hyperlinks
MonAdresse = HL.Address
' le reste des instructions ici
Next HL
End Sub​
 
Je ne vois pas trop ce que tu veux faire via "Rechercher/Remplacer". Mais ça ne me semble pas l'outil le plus approprié. Disons que je ferais plutôt ça à base de macro VBA, sur une base du genre :

Sub Extraire()
For Each HL In ActiveDocument.Hyperlinks
MonAdresse = HL.Address
' le reste des instructions ici
Next HL
End Sub​
Merci beaucoup pour cette information mais je suis vraiment un nul et je ne sais donc pas créer une macro mais j'imagine que c'est à moi à chercher sur le site comment faire... :-(

------

Et il me dit "erreur de syntaxe 'sub extraire ?
 
Dernière édition par un modérateur:
il me dit "erreur de syntaxe 'sub extraire ?
Probablement parce qu'il y a des "scories" au début de chacune des lignes. C'est fréquent quand on copie depuis une page internet. Positionne-toi devant les lignes et efface ce qui se trouve devant le premier caractère (c'est probablement invisible).

Ou sinon, copie d'abord dans un outil en texte brut (par exemple TextEdit, mais pas au format RTF, en texte brut). Puis copie à nouveau pour coller dans le module macro...
 
Autrement, j'explorerais la piste de "Rechercher selon le format" pour facilement effacer ce qui n'est pas un lien…
J'aurais aimé faire ce type de recherche mais je ne trouve pas ce "rechercher selon le format" dans ma version word 2011

Probablement parce qu'il y a des "scories" au début de chacune des lignes. C'est fréquent quand on copie depuis une page internet. Positionne-toi devant les lignes et efface ce qui se trouve devant le premier caractère (c'est probablement invisible).

Ou sinon, copie d'abord dans un outil en texte brut (par exemple TextEdit, mais pas au format RTF, en texte brut). Puis copie à nouveau pour coller dans le module macro...
Et aussi " 'le reste des instructions ici ", je ne sais évidemment pas ce que je dois mettre. Je voudrais qu'il efface tout ce qui ne correspond pas à une adresse mail.
 
Dernière édition par un modérateur:
J'aurais aimé faire ce type de recherche mais je ne trouve pas ce "rechercher selon le format" dans ma version word 2011

Dans la fenêtre de recherche avancée, dans la partie développée, il y a un menu déroulant qui permet de choisir différents formats :
Capture d’écran.webp
Je pense que c'est à ça que baron :coucou: fait allusion...

Et aussi " 'le reste des instructions ici ", je ne sais évidemment pas ce que je dois mettre. Je voudrais qu'il efface tout ce qui ne correspond pas à une adresse mail.

Évidemment, ça complique un peu, la macro partant sur la base inverse (sélectionner les liens hypertexte). Ça demande un peu de travail, je verrai si j'ai le temps... ;)
 
  • J’aime
Réactions: baron
Évidemment, ça complique un peu, la macro partant sur la base inverse (sélectionner les liens hypertexte). Ça demande un peu de travail, je verrai si j'ai le temps...
Allez, voilà la macro en question, j'espère qu'elle fera l'affaire. En gros, elle crée un nouveau document puis elle y ajoute tous les hyperlinks du document sur lequel a été installée la macro (tu peux varier si nécessaire) :

Sub ExtraireAdresses()
' création d'un nouveau document pour collecter les adresses
Documents.Add
ActiveDocument.SaveAs "Macintosh HD:users:dimitri2018: Desktop:Mes Adresses.docx" ' Word 2011
'ActiveDocument.SaveAs "/users/dimitri2018/Desktop/Mes Adresses.docx" ' Word 2016 et 2019
' récupération des adresses
ThisDocument.Activate
For Each HL In ThisDocument.Hyperlinks
MonAdresse = HL.Address
MonAdresse = Right(MonAdresse, Len(MonAdresse) - 7)
' ajout des adresses dans le nouveau document
Documents("Mes Adresses.docx").Activate
ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, _
Address:=HL.Address, TextToDisplay:=MonAdresse
Selection.TypeParagraph
Next HL
End Sub

L'emplacement où enregistrer le nouveau document est à adapter, bien entendu...
 
Dernière édition: