Extraire le prénom d'une adresse mail

Bonjour à toutes et tous, pourriez-vous m'aider à extraire le prénom d'une adresse mail, j'y arrive pour le 1er prénom mais ce n'est pas bon quand j'incrémente :

'=STXT([@[Adresse Mail]];CHERCHE(".";[@[Adresse Mail]])+1;4). Voici le fichier . Merci pour votre aide

33022.xlsx (15.17 Ko)

Bonjour,

Si VBA vous est autorisé, regardez cette fonction :

Function Prenom(ByVal ChaineMail As String) As String

    Prenom = Split(Split(ChaineMail, ".")(1), "@")(0)

End Function

Merci Eric, je vais garder cette réponse bien au chaud... mais comme vous le pressentiez, le VBA n'est pas "permis" ! Je me doute qu'il y a du NBCAR la dedans mais je bloque... Je cherche... Bon dimanche ! Et encore merci !

Bonjour Jmber, bonjour le forum,

Grillé par Éric !... Je me permet de proposer même si nos deux solutions sont très similaires :

Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TS As ListObject 'déclare la variable TS (Tableau Structuré)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim NL As Integer 'déclare la variael N (Nombre de Lignes)
Dim TL() As Variant 'déclare la variable TL (Tableau des Lignes)

Set O = Worksheets("Enonce") 'définit l'onglet O
Set TS = O.ListObjects(1) 'déinit le tableau structuré TS
TV = TS.DataBodyRange 'définit le tableau des valeurs TV
NL = UBound(TV, 1) 'définit le nombre de lignes NL du tableau des valeurs TV
ReDim TL(1 To NL, 1 To 2) 'redimensionne le tableau des lignes TL (NL lignes, 2 colonnes)
For I = 1 To NL 'boucle sur toutes les lignes I du tableau des valeurs TV
    TL(I, 1) = Split(TV(I, 1), ".")(0) 'récupère dans la ligne I colonne 1 de TL le texte avant pe premier point (.)
    'récupère dans la ligne I colonne 2 de TL le texte entre le premier point (.) et l'arobase (@)
    TL(I, 2) = Split(Split(TV(I, 1), "@")(0), ".")(1)
Next I 'prochaine ligne de la boucle
'renvoie le tableau TL dans la cellule ligne 1 colonne 3 des données de TS redimensionnée à NL lignes et deux colonnes
TS.DataBodyRange(1, 3).Resize(UBound(TV, 1), 2).Value = TL
End Sub

Toutefois je doute que tu aies des adresses email aussi simplifiées...

[Édition]

Arf ! Je navet pas lu la réponse de Jmber... Un coup pour rien...

Bonjour ThauThème, super sympa de mettre votre savoir pour nous aider ! Je vais comme pour la réponse d'Eric, garder votre réponse bien au chaud... Encore merci !

bonjour,

une solution via une formule.

36022.xlsx (16.83 Ko)

Bonjour,

Une autre solution est d'utiliser Power Query et le fractionnement de la colonne.

20jmber1972-2.xlsx (21.18 Ko)

Merci H2so4 et Jb, enfin, vous avez trouvé !! Cest cool, j'étais pas loin, regardez : =STXT(A2;CHERCHE(".";A2;1);CHERCHE("@";A2;1)-CHERCHE(".";A2;1)) et cela me donnait .jean ! malheureusement, il y avait le point, est ce que de cette façon, j'aurais pu y arriver ?? Et encore merci

re-bonjour,

est ce que de cette façon, j'aurais pu y arriver ?? Et encore merci

oui

une façon de faire.

=STXT([@[Adresse Mail]];CHERCHE(".";[@[Adresse Mail]])+1;CHERCHE("@";[@[Adresse Mail]])-CHERCHE(".";[@[Adresse Mail]])-1)

Merci H2so4 ! Ma logique comprend mieux de cette façon ! lol ! C'est cool de t'être "penché" sur ma question ! Merci !!

Rechercher des sujets similaires à "extraire prenom adresse mail"