Déplacer une partie des données de la colonne A vers la colo

Bonjour,

Je possède un fichier excel sur lequel figure dans la colonne A des adresses email suivies d'une url.

Je désire pouvoir déplacer les urls dans la colonne B afin de ne garder que les adresses e-mail dans la colonne A et je ne sais pas comment procéder pour cela.

Voici une capture d'écran de ce que cela donne.

urls

En vous remerciant par avance pour votre aide.

Cordialement,

Christine

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

Bonsoir,

En admettant que tes adresses mail se situent toutes avant la 1ere virgule je te dirais de mettre cette formule en B1 à tirer jusqu'ou tu le souhaites :

=GAUCHE($A1;CHERCHE(",";$A1;1)-1)

Tu auras tes adresses email en colonne B.

Cordialement.

Bonjour. Bienvenue sur le Forum

A priori, nous travaillons sur des fichiers Excel et pas sur des images

Si toutes tes adresses mail sont hotmail.com

en B2

=STXT(A2;1;CHERCHE("@";A2;1))&"hotmail.com"

en C2

=SUBSTITUE(A2;B2&",";"")

tu incrémentes vers le bas

ensuite, tu fais un copier collage spécial valeur sur les colonnes B et c

Cordialement

Bonsoir et merci pour vos réponses rapides

Les adressses e-mail sont toutes situées avant la 1ère virgule, la formule de bigdaddy154 m'a donc permis de déplacer les emails dans la colonne B

Encore merci et très bonne fin de soirée !

Christine

Rechercher des sujets similaires à "deplacer partie donnees colonne colo"