A voir également:
- Extraction excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Trier un tableau excel - Guide
- Déplacer colonne excel - Guide
4 réponses
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
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