Bonsoir Christine, bonsoir le forum,
Normalement, ni les adresses Email ni les URL ne contiennent la virgule (,) comme caractère. Si c'est le cas dans ton fichier le code ci-dessous devrait fonctionner :
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TC As Variant 'déclare la variable TC (Tableau de Cellules)
Dim I As Integer 'déclare la variable I (Incrément de ligne)
Dim TS(1 To 2) As String 'déclare la variable TS (Tableau de Séparation)
Dim TL() As Variant 'déclare la variable TL (Tableau de Lignes)
Set O = Sheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
TC = O.Range("A1").CurrentRegion 'définit le tabelau TC (à adapter à ton cas)
J = 1 'initialise la variable J
For I = 1 To UBound(TC, 1) 'boucle sur toutes les lignes I du tableau de cellules TC
TS(1) = Split(TC(I, 1), ",")(0) 'stocke l'email dans TS(1)
TS(2) = Split(TC(I, 1), ",")(1) 'stocke l'URL dans TS(2)
ReDim Preserve TL(1 To 2, 1 To J) 'redimensionne le tableau TL (2 lignes, J colonnes)
TL(1, J) = TS(1) 'récupère dans la ligne 1 colonne J de TL la valeur de TS(1)
TL(2, J) = TS(2) 'récupère dans la ligne 2 colonne J de TL la valeur de TS(2)
J = J + 1 'incrémente J (ajoute une colonne au tableau TL)
Next I 'prochaine ligne de la boucle
'renvoie dans la cellule B1 redimensionnée le tableau TL transposé
O.Range("B1").Resize(UBound(TL, 2), UBound(TL, 1)) = Application.Transpose(TL)
'là, tu conserves les données originale dans la colonne A
'quand tu auras testé et vérifier le bon fonctionnement du code
'tu pourras écraser les données de la colonne A avec :
'O.Range ("A1").Resize(UBound(TL, 2), UBound(TL, 1)) = Application.Transpose(TL)
End Sub