Separer données en deux colonnes vba

Résolu/Fermé
aristote23 Messages postés 2 Date d'inscription dimanche 12 avril 2015 Statut Membre Dernière intervention 12 avril 2015 - 12 avril 2015 à 23:08
aristote23 Messages postés 2 Date d'inscription dimanche 12 avril 2015 Statut Membre Dernière intervention 12 avril 2015 - 12 avril 2015 à 23:47
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
A voir également:

1 réponse

Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 949
12 avril 2015 à 23:22
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
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
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 949
Modifié par Mytå le 12/04/2015 à 23:38
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å
0
aristote23 Messages postés 2 Date d'inscription dimanche 12 avril 2015 Statut Membre Dernière intervention 12 avril 2015
12 avril 2015 à 23:47
merci encore
0