Extraction excel

Fermé
fina - 12 mars 2014 à 16:12
 Fina - 13 mars 2014 à 12:32
Bonjour,

Je souhaiterais extraire dans un phrase le début d'un email. Voici un Exemple d'une phrase : "envoyé mail à ***@*** pour demain". Je voudrais récupérer laurine.gret dans une cellule.

Merci pour votre aide


A voir également:

4 réponses

Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 078
12 mars 2014 à 16:24
Bonjour,

Je suppose que laurine.gret se trouve avant l'arobase

=GAUCHE(A1;TROUVE("@";A1)-1)

ensuite il conviendra certainement de compléter la formule pour ne pas afficher le message d'erreur #VALEUR! dans le cas de cellule vide
0
Bonjour
Merci pour votre réponse, j ai déjà faite cette formule mon souci est que cette formule me donne aussi le début de la phrase, c'est a dire " envoyé mail a" cela ne s arrête pas a l espace. Avez vous une solution? Merci
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 078
12 mars 2014 à 17:13
Re,

Ah ok je n'avais pas retenu que "envoyé mail à" et "pour demain" encadrais l'extraction. en supposant qu'il y a toujours un "à" devant l'adresse et un "pour après l'adresse, essaye cette formule

=STXT(A1;CHERCHE("à";A1)+1;CHERCHE("pour";A1;CHERCHE("à";A1)+1)-CHERCHE("à";A1)-1)
0
Je n'ai pas toujours le même texte. Ceux sont des commentaires et je dois extraire mon adresse email de ces commentaires...:(
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 078
12 mars 2014 à 18:57
re,

Alors il va falloir passer par des formules en cascades ou du VBA

si tu veux tester un code que j'avais trouvé sur le net et modifié, as tu déjà utilisé ces codes et ouvert le VBA

0
Merci pour ton aide je v tester
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 078
12 mars 2014 à 21:00
Re,

Bon comme je m'absente deux jours, ouvrir le Visual Basic, soit clic droit sur l'onglet d'une feuille et Visualiser le code
ou en même temps clic sur Alt et touche fonction F11

Insertion/Module, coller ce code

Function Adresse_Mail(ByVal Cellule As String) As String
Dim M, i As Long
Dim k As String
k = "[A-Za-z0-9.!#$%&'*/=?^_'{|}~+-]"
Domain = "[A-Za-z0-9._-]"
i = InStr(Cellule, "@")
For M = i To 1 Step -1
If Not Mid(" " & Cellule, M, 1) Like k Then
Cellule = Mid(Cellule, M)
If Left(Cellule, 1) = "." Then Cellule = Mid(Cellule, 2)
Exit For
End If
Next
i = InStr(Cellule, "@")
For M = i + 1 To Len(Cellule) + 1
If Not Mid(Cellule & " ", M, 1) Like Domain Then
Cellule = Left(Cellule, M - 1)
If Right(Cellule, 1) = "." Then Cellule = Left(Cellule, Len(Cellule) - 1)
Adresse_Mail = Cellule
Exit For
End If
Next
End Function


revenir sur la feuille Excel, Formule/Insérer une fonction, dans sélectionner une série, choisir Personnalisées, clic sur le titre de la fonction Adresse_Mail
sélectionner la première cellule à traiter et OK
incrémenter vers le bas
0