fredh
XLDnaute Occasionnel
[Resolu] Splitté des celulles avec des nombre de champs superieur a 255!
Bonjour a tous
J'ai un fichier excel issu d'une extraction de Base de donnés.
Afin de traité cela il faudrait que je splitte les celulles en colonne A:A
Probleme : si je splite simplement alors j'ai 277 colonnes et excel ne peut en avoir que 255, donc je desir "oublier" quelques champs lors du splittage.
.
Pour cela j'ai pondu la macros suivante (attention ca risque de piquer au yeux car je suis encore debutant ) :
J'ai quelques problemes :
1.\ a la fin du split j'ai des problemes de rebouclage, il faudrait que je fasse la manoeuvre que tant qu'il y a quelque chose dans le split....
2.\ je n'arrive pas a suprimez des champs.....Resolue
3.\ je ne suis pas sur du resultat plusieurs lignes (enfin ca devrait rouler mais vu que ca bloque avant...)
4.\ j'aimerai simplifié le code en incrementant les colonnes, afin d'evité les repetition. En effet dans l'exemple j'ai 17 colonne mais en realité j'en ai presque 200 (277 sans la supression).
Ci joint un fichier exemple :
avec des boutons pour lancer la macros, un boutons pour revenir au point de depart afin de retester corectement.
La 3em ligne inclus des MFC afin de colorié en vert un bon resultat et en rouge un mauvais resultat.
Voila j'espere avoir été clair. sinon n'hesité pas
PS edit:
merci et @+
Bonjour a tous
J'ai un fichier excel issu d'une extraction de Base de donnés.
Afin de traité cela il faudrait que je splitte les celulles en colonne A:A
Probleme : si je splite simplement alors j'ai 277 colonnes et excel ne peut en avoir que 255, donc je desir "oublier" quelques champs lors du splittage.
.
Pour cela j'ai pondu la macros suivante (attention ca risque de piquer au yeux car je suis encore debutant ) :
Code:
Sub aCSV()
Dim colon
Dim n As Integer, ncolon As Integer
'Ici je donne les numero de split a copié
'Je ne veut pas le 6em, 7em, 10em et 11em champ).
'plus tard il faudrait que j'inscrive ici environ 200 champ) Est ce possible?
colon = Array(0, 1, 2, 3, 4, 5, 8, 9, 12, 13, 14, 15, 16, 17)
ncolon = 0
'la 1er ligne est une ligne d'exemple qui representge C1 splitté
'la 2em ligne est une ligne d'exemple de ce que je desire obtenir, donc je commence le traitement en 3em ligne
For n = 3 To Range("A65536").End(xlUp).Row
'Split de la colonne A copie dans A, B, C etc....
t = Split(Range("A" & n), ";")
Range("A" & n) = t(m)
ncolon = ncolon + 1
m = colon(ncolon)
Range("B" & n) = t(m)
ncolon = ncolon + 1
m = colon(ncolon)
Range("C" & n) = t(m)
ncolon = ncolon + 1
m = colon(ncolon)
Range("D" & n) = t(m)
ncolon = ncolon + 1
m = colon(ncolon)
Range("E" & n) = t(m)
ncolon = ncolon + 1
m = colon(ncolon)
Range("F" & n) = t(m)
ncolon = ncolon + 1
m = colon(ncolon)
Range("G" & n) = t(m)
ncolon = ncolon + 1
m = colon(ncolon)
Range("H" & n) = t(m)
ncolon = ncolon + 1
m = colon(ncolon)
Range("I" & n) = t(m)
ncolon = ncolon + 1
m = colon(ncolon)
Range("J" & n) = t(m)
ncolon = ncolon + 1
m = colon(ncolon)
Range("K" & n) = t(m)
ncolon = ncolon + 1
m = colon(ncolon)
Range("L" & n) = t(m)
ncolon = ncolon + 1
m = colon(ncolon)
Range("M" & n) = t(m)
ncolon = colon + 1
m = colon(ncolon)
Range("N" & n) = t(m)
ncolon = ncolon + 1
m = colon(ncolon)
Range("O" & n) = t(m)
ncolon = ncolon + 1
m = colon(ncolon)
Range("P" & n) = t(m)
ncolon = ncolon + 1
m = colon(ncolon)
Range("Q" & n) = t(m)
ncolon = ncolon + 1
m = colon(ncolon)
Range("R" & n) = t(m)
ncolon = colon + 1
m = colon(ncolon)
Range("S" & n) = t(m)
ncolon = colon + 1
m = colon(ncolon)
Range("T" & n) = t(m)
ncolon = colon + 1
m = colon(ncolon)
Range("U" & n) = t(m)
ncolon = colon + 1
m = colon(ncolon)
Range("V" & n) = t(m)
ncolon = colon + 1
m = colon(ncolon)
Range("W" & n) = t(m)
ncolon = colon + 1
m = colon(ncolon)
Range("X" & n) = t(m)
ncolon = colon + 1
m = colon(ncolon)
Range("Y" & n) = t(m)
ncolon = colon + 1
m = colon(ncolon)
Range("Z" & n) = t(m)
n = n + 1
Next n
End Sub
J'ai quelques problemes :
1.\ a la fin du split j'ai des problemes de rebouclage, il faudrait que je fasse la manoeuvre que tant qu'il y a quelque chose dans le split....
2.\ je n'arrive pas a suprimez des champs.....Resolue
3.\ je ne suis pas sur du resultat plusieurs lignes (enfin ca devrait rouler mais vu que ca bloque avant...)
4.\ j'aimerai simplifié le code en incrementant les colonnes, afin d'evité les repetition. En effet dans l'exemple j'ai 17 colonne mais en realité j'en ai presque 200 (277 sans la supression).
Ci joint un fichier exemple :
avec des boutons pour lancer la macros, un boutons pour revenir au point de depart afin de retester corectement.
La 3em ligne inclus des MFC afin de colorié en vert un bon resultat et en rouge un mauvais resultat.
Voila j'espere avoir été clair. sinon n'hesité pas
PS edit:
merci et @+
Pièces jointes
Dernière édition: