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...