Trier une colonne EXCEL en plusieurs colonnes? [Résolu]

Signaler
Messages postés
6
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
20 mars 2006
-
Messages postés
3
Date d'inscription
mercredi 25 août 2010
Statut
Membre
Dernière intervention
25 août 2010
-
Bonjour, j'ai mes données sous la forme :

(³ CAB CU U1000 R2V 1X 25 023832 ³ 775 ³ 1.280 ³ 992.00 ³) dans A1 par exemple et j'aimerais que ³ CAB CU U1000 R2V 1X 25 soit dans C1, 023832 ³ dans D1 , 775 ³ dans E1, 1.280 ³ dans F1 et 992.00 ³ dans G1.


J'essaye de créer une macro VBA pour faire cette manip sans résultat depuis 1 semaine, bon j'avoue je suis pas fortiche.
Vu que j'ai 9 pages avec 4000 lignes à chaque fois hum :p à la main 3 semaines de saisie ^^.

Merci de votre aide.

10 réponses

Messages postés
231
Date d'inscription
mercredi 27 avril 2005
Statut
Membre
Dernière intervention
10 juin 2009

SALUT,
ta essayé d'utiliser les tableux?
je pense que c'est la meilleurs methode pour le tri

programation .....
3
Merci

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

Codes Sources 152 internautes nous ont dit merci ce mois-ci

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Salut,

Est ce que les donnees ont toujours le meme format (exemple toujours le meme nombre d'espaces entre 1X 25 et 023832) d'ailleurs est ce des espaces ou des Tabulations.

Essaie de regarde la Fonction Split dans l'aide de VBA.

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
Messages postés
6
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
20 mars 2006

Les données ont toujours le même format, en fait il y a toujours 50 caractères (espaces compris) entre les 2 "³", 13 entre les 2 autres "³", 14 aprés et enfin 17.
Messages postés
6
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
20 mars 2006

C'est un fichier d'ailleurs qui a été récupéré sous DOS et les "³" correpondent aux colonnes.
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Re,

DAns ce cas regarde la fonction Split, elle devrait pouvoir regler ton probleme

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
Messages postés
6
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
20 mars 2006

Oui cette fonction semble bien être adéquate, Tu peut me donner un exemple d'écriture pour l'exemple que j'ai donné stp?
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Salut,

Sans tester, je te proposerais un truc du style (attention il faut adapter je pense)

dim Ligne as string
Dim Resultats() as string
Ligne = "³ CAB CU U1000 R2V 1X 25 023832 ³ 775 ³ 1.280 ³ 992.00 ³"
Resultat = Split(Ligne, String(13, " "))
[B1]= resultat(0)
[C1] =resultat(1)
[D1]=resultat(2)
[E1]=resultat(3)
[F1]=resultat(4)
[G1]=resultat(5)
@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
Messages postés
3
Date d'inscription
mercredi 25 août 2010
Statut
Membre
Dernière intervention
25 août 2010

a a aa aaa
aa b bb bbb
aaa c cc ccc
b
bb
bbb
c
cc
ccc

Si c'est ce que tu veux voici comment faire :

1) Insérer une colonne à gauche de la colonne à trier
2) Numérotez toutes les lignes de cette nouvelle colonne (dans cet exemple de 1 à 9)
3) Construire une base de données sur le principe "1ère ligne 1, 2 et 3", "2éme ligne 4, 5, 6"...
4) Construire une base de données dans laquelle toutes les cellules auront la formule =SI(D1>MAX($A$1:$A$9);"";RECHERCHEV(D1;$A$1:$B$9;2))

Et voila le tour et jouer, pour mieux comprendre tu trouveras ci dessous un schéma de ce que je viens de t'expliquer.

1 a 1 2 3 a aa aaa
2 aa 4 5 6 b bb bbb
3 aaa 7 8 9 c cc ccc
4 b 10 11 12
5 bb 13 14 15
6 bbb 16 17 18
7 c 19 20 21
8 cc 22 23 24
9 ccc 25 26 27
Messages postés
3
Date d'inscription
mercredi 25 août 2010
Statut
Membre
Dernière intervention
25 août 2010

Ce petit tableau t'aideras surement mieux que celui que je viens de te faire parvenir

1 a 1 2 3 a aa aaa
2 aa 4 5 6 b bb bbb
3 aaa 7 8 9 c cc ccc
4 b 10 11 12
5 bb 13 14 15
6 bbb 16 17 18
7 c 19 20 21
8 cc 22 23 24
9 ccc 25 26 27
Messages postés
3
Date d'inscription
mercredi 25 août 2010
Statut
Membre
Dernière intervention
25 août 2010

Ca n'a pas marché, ce message t'aideras plus :

étape 1) et 2)
1 a
2 aa
3 aaa
4 b
5 bb
6 bbb
7 c
8 cc
9 ccc

étape 3)

1 2 3
4 5 6
7 8 9
10 11 12
13 14 15
16 17 18
19 20 21
22 23 24
25 26 27

étape 4)

a aa aaa
b bb bbb
c cc ccc