Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

extraire des adresses emails d'un texte

4 réponses
Avatar
Alfred WALLACE
Bonjour,
je dispose d'un ensemble texte que colle
dans une cellule de excel.

le texte coll=E9 ressemble =E0 =E7=E0 :

non@serveur.fr,"machin toto"<coucou@ici.com>,

je souhaite en faite, trouver une m=E9thode "universelle" capable, dans
un ensemble de caract=E8res en vrac, de retrouver des adresses emails
pour
les stocker dans un tableau.

existet-il une m=E9thode ? je me proposais de faire quelque chose comme
=E7=E0 :

1 - trouver le caract=E8re "@"
2 - rechercher tous les caract=E8res =E0 gauche de @ tant que l'on a des
caract=E8res
qui appartiennent =E0 un ensemble "a-z, A-Z, 0-9, -_." puis
3 - rechercher tous les caract=E8res =E0 droite de @ jusqu'au "." puis
tous les
caract=E8res apr=E8s le "." comme le point 2

4 - une fois que l'on connait les x caract=E8res =E0 droite et =E0 gauche du
@ on extrait
cette sous-chaine pour la mettre dans un tableau.

5 - bon, c'est un peu tordu, mais, si je pouvais avoir un ch'tit coup
de main ?

Merci
Jos=E9

4 réponses

Avatar
FFO
Salut Alfred
Prenant pour hypothèse que les adresses sont séparées entre elles par une
virgule ","
Sur la cellule active dans une boite de dialogue les différentes adresses
avec ce code :

Chaine = ""
For i = 1 To Len(ActiveCell)
car = Mid(ActiveCell, i, 1)
Chaine = Chaine & car
If car = "," Then
MsgBox (Mid(Chaine, 1, Len(Chaine) - 1))
Chaine = ""
End If
Next
MsgBox (Chaine)

Qu'en penses tu ???
Dis moi !!!



Bonjour,
je dispose d'un ensemble texte que colle
dans une cellule de excel.

le texte collé ressemble à çà :

,"machin toto",

je souhaite en faite, trouver une méthode "universelle" capable, dans
un ensemble de caractères en vrac, de retrouver des adresses emails
pour
les stocker dans un tableau.

existet-il une méthode ? je me proposais de faire quelque chose comme
çà :

1 - trouver le caractère "@"
2 - rechercher tous les caractères à gauche de @ tant que l'on a des
caractères
qui appartiennent à un ensemble "a-z, A-Z, 0-9, -_." puis
3 - rechercher tous les caractères à droite de @ jusqu'au "." puis
tous les
caractères après le "." comme le point 2

4 - une fois que l'on connait les x caractères à droite et à gauche du
@ on extrait
cette sous-chaine pour la mettre dans un tableau.

5 - bon, c'est un peu tordu, mais, si je pouvais avoir un ch'tit coup
de main ?

Merci
José




Avatar
Alfred WALLACE
Salut,
merci de ton aide ! malheureusement, l'hypothèse n'est pas possible,
disons que, les adresses arrivent "en vrac" dans un texte qui peut
contenue
tout et n'importe quoi (enfin, des caractères imprimables quand meme!)

Donc, je dois trouver une méthode pour "reconnaitre" l'email.

Pour moi, un email peut se reconnaitre (visuellement) comme cela :

<des_caractères_sans_espaces_accent-ni-pointuation_a-z-A-Z>

séparé par le caractère "@"


en fait, je dois, à partir du premier "@" que je trouve, collecter
tous les caractères "valident"
et contigus dans une adresse email.
Puis, la même chose à droite du "@".

je ne sais pas si c'est bien clair, mais, mes emails ne sont pas
forcément
séparé toujour par une virgule.

Merci encore.
José





On 26 avr, 09:08, FFO wrote:
Salut Alfred
Prenant pour hypothèse que les adresses sont séparées entre elles p ar une
virgule ","
Sur la cellule active dans une boite de dialogue les différentes adress es
avec ce code :

Chaine = ""
For i = 1 To Len(ActiveCell)
car = Mid(ActiveCell, i, 1)
Chaine = Chaine & car
If car = "," Then
MsgBox (Mid(Chaine, 1, Len(Chaine) - 1))
Chaine = ""
End If
Next
MsgBox (Chaine)

Qu'en penses tu ???
Dis moi !!!


Avatar
FFO
Attention le seul repère @ pour détecter et extraire une adresse es
insuffisant dans une suite d'adresse
Comment repérer le début et la fin d'une adresse en partant de son @
Quasiment impossible surtout pour le début sachant que la fin pour une bonne
part se termine par un .fr, .com, .org ect... bienque pour certain un
complément peut être associé
Donc je pense qu'en l'état dur dur de trouver une solution


Salut,
merci de ton aide ! malheureusement, l'hypothèse n'est pas possible,
disons que, les adresses arrivent "en vrac" dans un texte qui peut
contenue
tout et n'importe quoi (enfin, des caractères imprimables quand meme!)

Donc, je dois trouver une méthode pour "reconnaitre" l'email.

Pour moi, un email peut se reconnaitre (visuellement) comme cela :

<des_caractères_sans_espaces_accent-ni-pointuation_a-z-A-Z>

séparé par le caractère "@"


en fait, je dois, à partir du premier "@" que je trouve, collecter
tous les caractères "valident"
et contigus dans une adresse email.
Puis, la même chose à droite du "@".

je ne sais pas si c'est bien clair, mais, mes emails ne sont pas
forcément
séparé toujour par une virgule.

Merci encore.
José





On 26 avr, 09:08, FFO wrote:
Salut Alfred
Prenant pour hypothèse que les adresses sont séparées entre elles par une
virgule ","
Sur la cellule active dans une boite de dialogue les différentes adresses
avec ce code :

Chaine = ""
For i = 1 To Len(ActiveCell)
car = Mid(ActiveCell, i, 1)
Chaine = Chaine & car
If car = "," Then
MsgBox (Mid(Chaine, 1, Len(Chaine) - 1))
Chaine = ""
End If
Next
MsgBox (Chaine)

Qu'en penses tu ???
Dis moi !!!






Avatar
Alfred WALLACE
On 27 avr, 20:50, FFO wrote:
Attention le seul repère @ pour détecter et extraire une adresse es
insuffisant dans une suite d'adresse
Comment repérer le début et la fin d'une adresse en partant de son @
Quasiment impossible surtout pour le début sachant que la fin pour une bonne
part se termine par un .fr, .com, .org ect... bienque pour certain un
complément peut être associé
Donc je pense qu'en l'état dur dur de trouver une solution


Salut,
merci de ton aide ! malheureusement, l'hypothèse n'est pas possible,
disons que, les adresses arrivent "en vrac" dans un texte qui peut
contenue
tout et n'importe quoi (enfin, des caractères imprimables quand meme!)

Donc, je dois trouver une méthode pour "reconnaitre" l'email.

Pour moi, un email peut se reconnaitre (visuellement) comme cela :

<des_caractères_sans_espaces_accent-ni-pointuation_a-z-A-Z>

séparé par le caractère "@"

en fait, je dois, à partir du premier "@" que je trouve, collecter
tous les caractères "valident"
et contigus dans une adresse email.
Puis, la même chose à droite du "@".

je ne sais pas si c'est bien clair, mais, mes emails ne sont pas
forcément
séparé toujour par une virgule.

Merci encore.
José

On 26 avr, 09:08, FFO wrote:
Salut Alfred
Prenant pour hypothèse que les adresses sont séparées entre ell es par une
virgule ","
Sur la cellule active dans une boite de dialogue les différentes ad resses
avec ce code :

Chaine = ""
For i = 1 To Len(ActiveCell)
car = Mid(ActiveCell, i, 1)
Chaine = Chaine & car
If car = "," Then
MsgBox (Mid(Chaine, 1, Len(Chaine) - 1))
Chaine = ""
End If
Next
MsgBox (Chaine)

Qu'en penses tu ???
Dis moi !!!