Separer données en deux colonnes vba

[Résolu/Fermé]
Signaler
Messages postés
2
Date d'inscription
dimanche 12 avril 2015
Statut
Membre
Dernière intervention
12 avril 2015
-
Messages postés
2
Date d'inscription
dimanche 12 avril 2015
Statut
Membre
Dernière intervention
12 avril 2015
-
Bonjour

Je suis débutant en vba et je voudrais faire une moulinette qui sépare les chiffres à droite de la virgule dans une colonne D et a gauche de la virgule dans une colonne E je poste un exemple du resultat voulut:

et je joint une base de donnée:

A = (424.719, 25.467)
B = (101.922, 25.467)
C = (-19.396, 0.173)
D = (0, -14.514)
E = (0, 67.5)
F = (10, 77.5)
G = (335.763, 77.5)
H = (345.763, 87.5)
I = (345.763, 149.198)
J = (324.236, 157)
K = (28, 157)
L = (13, 172)
M = (13, 172.675)
N = (424.719, 25.467)
O = (101.922, 25.467)
P = (17.541, -1.334)
Q = (-2, 12.962)
R = (-2, 67.5)

J'arrive a extraire les données entre () avec la macro suivante:

Sub Macro1()
For Each cel In Range("A1:A" & Range("A65536").End(xlUp).Row)
cel.Offset(0, 1).Value = Left(Split(cel, "(", -1)(1), Len(Split(cel, "(", -1)(1)) - 1)
Next cel
End Sub

mais je n'arrive pas a séparer les valeurs en deux colonnes je suis sous excel 2010

merci d'avance

1 réponse

Messages postés
2967
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
884
Salut le Forum

Comme ceci :
Sub Macro1()
Dim Cel As Range
Dim Tablo
For Each Cel In Range("A1:A" & Range("A65536").End(xlUp).Row)
Tablo = Split(Cel, ",")
Cel.Offset(, 1) = Split(Tablo(0), "(")(1)
Cel.Offset(, 2) = Split(Tablo(1), ")")(0)
Next Cel
End Sub

Mytå
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

parfait ^^
pourrais-tu détailler ci ça ne te dérange pas a quoi correspondes les variable de ta macro afin que je puisse m améliorer
cordialement
Messages postés
2967
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
884
Re le Forum

Dim Cel As Range 'Car tu boucles sur une plage de cellule
Dim Tablo As Variant 'Contiendra ton tableau suite au SPLIT

Pour A = (424.719, 25.467)
Tablo(0) contiendra "A = (424.719"
Tablo(1) contiendra " 25.467)"

Mytå
Messages postés
2
Date d'inscription
dimanche 12 avril 2015
Statut
Membre
Dernière intervention
12 avril 2015

merci encore