A voir également:
- Extraction excel
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
- Déplacer une colonne excel - Guide
4 réponses
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 111
12 mars 2014 à 16:24
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
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
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 111
12 mars 2014 à 17:13
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)
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)
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 111
12 mars 2014 à 18:57
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
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
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 111
12 mars 2014 à 21:00
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
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
12 mars 2014 à 16:41
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