Classer rapidement des coordonnées.
Résolu
f117-nighthawk
Messages postés
150
Statut
Membre
-
f117-nighthawk Messages postés 150 Statut Membre -
f117-nighthawk Messages postés 150 Statut Membre -
Bonjour,
Je suis embêté car j'aimerais automatiser un processus assez fastidieux.
A la base j'ai un fichier texte avec des coordonnées de points séparées uniquement par des virgules. E fin de compte j'ai une série de caractères de ce type : X1,Y1,X2,Y2,X3,Y3,...
J'ai importé mon fichier texte sur excel, mais je me retrouve avec une info par cellule (ça me va) et le tout sur plus de 500 colonnes...
Je veux répartir ça en 2 colonnes (celle des X et celle des Y) sur autant de lignes que nécessaire.
Comment puis-je procéder?
Pour info, je suis sur excel:mac 2011.
D'avance merci.
Je suis embêté car j'aimerais automatiser un processus assez fastidieux.
A la base j'ai un fichier texte avec des coordonnées de points séparées uniquement par des virgules. E fin de compte j'ai une série de caractères de ce type : X1,Y1,X2,Y2,X3,Y3,...
J'ai importé mon fichier texte sur excel, mais je me retrouve avec une info par cellule (ça me va) et le tout sur plus de 500 colonnes...
Je veux répartir ça en 2 colonnes (celle des X et celle des Y) sur autant de lignes que nécessaire.
Comment puis-je procéder?
Pour info, je suis sur excel:mac 2011.
D'avance merci.
A voir également:
- Classer rapidement des coordonnées.
- Télécharger film d'action gratuitement et rapidement - Télécharger - TV & Vidéo
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Coordonnées gps - Guide
- Copier rapidement des fichiers - Télécharger - Gestion de fichiers
- Logiciel pour classer ses musiques - Télécharger - Lecture & Playlists
6 réponses
Bonjour,
Admettons que ta série de caractère X1,Y1,X2,Y2,X3,Y3,... commence en A1 et continue sur toute la ligne 1, avec une seule valeur par cellule.
Voici un petit code qui fait l'affaire :
Dolgan
Admettons que ta série de caractère X1,Y1,X2,Y2,X3,Y3,... commence en A1 et continue sur toute la ligne 1, avec une seule valeur par cellule.
Voici un petit code qui fait l'affaire :
Option Explicit
Sub trier_XY()
Dim dC
Dim col As Long, dLX As Long, dLY As Long
'Récupère le numéro de la dernière colonne non vide de la ligne 1
dC = Cells(1, Columns.Count).End(xlToLeft).Column
'Titres des deux colonnes du tableau
Cells(5, 2) = "Colonne X"
Cells(5, 3) = "Colonne Y"
dLX = Range("B" & Rows.Count).End(xlUp).Row
dLY = Range("C" & Rows.Count).End(xlUp).Row
For col = 1 To dC
'Si le contenu de la cellule commmence par "X"
If Left(Cells(1, col), 1) = "X" Then
Cells(dLX + 1, 2) = Cells(1, col)
dLX = dLX + 1
'Sinon
Else
Cells(dLY + 1, 3) = Cells(1, col)
dLY = dLY + 1
End If
Next col
End Sub
Dolgan
Ok. Je test tout de suite et je reviens vers vous ensuite. :)
Edit : Ca ne fonctionne pas on dirait. La macro me met tout dans la conne Y. En fait je n'ai aucune lettre. J'ai juste des chiffres qui se suivent, séparés par des virgules (genre : 152,196,247,354,...)
Edit : Ca ne fonctionne pas on dirait. La macro me met tout dans la conne Y. En fait je n'ai aucune lettre. J'ai juste des chiffres qui se suivent, séparés par des virgules (genre : 152,196,247,354,...)
Bonjour,
Merci de déposer le fichier xls (qq lignes, pas la peine de les convertir sur plusieurs colonnes, et éventuellement le résultat attendu) sur cjoint.com et coller ici le lien fourni.
eric
Merci de déposer le fichier xls (qq lignes, pas la peine de les convertir sur plusieurs colonnes, et éventuellement le résultat attendu) sur cjoint.com et coller ici le lien fourni.
eric
Bonjour.
Voilà la bête.
https://www.cjoint.com/?3ItnhJ3BpQm
Du coup j'ai fait 2 feuilles :
- Une sur laquelle vous avez ce que j'obtiens après avoir importé mon fichier texte (sois un chiffre par cellule sur une ligne jusqu'à... loin).
- La seconde montrant ce que je souhaite obtenir (donc les 2 premiers chiffres en correspondance côte à côte, puis les suivants, puis les autres, sur autant de lignes que nécessaire.)
D'avance merci.
Voilà la bête.
https://www.cjoint.com/?3ItnhJ3BpQm
Du coup j'ai fait 2 feuilles :
- Une sur laquelle vous avez ce que j'obtiens après avoir importé mon fichier texte (sois un chiffre par cellule sur une ligne jusqu'à... loin).
- La seconde montrant ce que je souhaite obtenir (donc les 2 premiers chiffres en correspondance côte à côte, puis les suivants, puis les autres, sur autant de lignes que nécessaire.)
D'avance merci.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour.
Eriic, ça a l'air d'être ce que je cherche en effet. Merci bien.
Dolgan, Ce que je souhaite c'est ranger ma ligne en 2 colonnes, en sachant que la première donnée est une abscisse et qu'entre 2 abscisses j'ai une ordonnée correspondant à l'abscisse la précédent. Ce que je voulais c'était donc de réunir toutes mes abscisses dans une colonne et les faire correspondre avec leurs ordonnées dans une seconde colonne.
Encore merci à vous deux et bonne continuation.
Eriic, ça a l'air d'être ce que je cherche en effet. Merci bien.
Dolgan, Ce que je souhaite c'est ranger ma ligne en 2 colonnes, en sachant que la première donnée est une abscisse et qu'entre 2 abscisses j'ai une ordonnée correspondant à l'abscisse la précédent. Ce que je voulais c'était donc de réunir toutes mes abscisses dans une colonne et les faire correspondre avec leurs ordonnées dans une seconde colonne.
Encore merci à vous deux et bonne continuation.