CONCATENATE plus de 5 colonnes

Résolu/Fermé
AR - 8 déc. 2016 à 15:52
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 23 déc. 2016 à 17:13
Bonjour,

Je bosse sur un fichier de 500 000 lignes - et je dois concaténer du texte dans la colonne 1 pour pouvoir ensuite convertir proprement mes données (text to column).
La formule CONCATENATE ne fonctionne pas (limitée à 5 colonnes et je peux en avoir une douzaine).
Mon code fonctionne mais prend beaucoup trop de temps - même si seulement la moitié des lignes sont concernées.

voilà mon code :
I = 2
While Cells(I, 1) <> ""
If Cells(I, 2) <> "" Then
textcomplet = Cells(I, 1).Text
col = 2
While Cells(I, col) <> ""
textcomplet = textcomplet & Cells(I, col).Text
col = col + 1
Wend
Range(Cells(I, 1), Cells(I, col)).ClearContents
Cells(I, 1).Formula = textcomplet
End If
I = I + 1
Wend

Merci d'avance !

5 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
8 déc. 2016 à 16:57
Bonjour

maquette sur 4100 lignes et 12 colonnes concaténée en 0,2 secondes environ
https://mon-partage.fr/f/0y82tcek/
maintenant j'ai un doute sur 500000 lignes.... :-/
0
VBAntoine Messages postés 3 Date d'inscription jeudi 8 décembre 2016 Statut Membre Dernière intervention 8 décembre 2016
8 déc. 2016 à 17:11
=> 498 720 lignes en 23.48 secondes

C'est énorme !

J'en étais à 10% avec ma méthode, quelques progrès à faire...

498 720 mercis Michel !
0
VBAntoine Messages postés 3 Date d'inscription jeudi 8 décembre 2016 Statut Membre Dernière intervention 8 décembre 2016
8 déc. 2016 à 17:54
Re-bonjour, je me suis réjouis un peu vite, le temps ci-dessus correspond en fait au traitement de 3 colonnes.
2 petites remarques :
- pour la recherche dernière colonne, j'ai utilisé xlLastCell
- avec ce nombre de lignes, la capacité est limitée à 8 colonnes pour le T_in et moins pour le T_out. (Out of memory).
J'ai donc fait une boucle pour traiter colonne par colonne et ça fonctionne très bien (c'est ultra rapide !).
Merci encore, bonne soirée
0
NaXiLeAn Messages postés 112 Date d'inscription mercredi 27 juillet 2016 Statut Membre Dernière intervention 2 juin 2020 1
23 déc. 2016 à 14:15
Bonjour,
Le fichier n'étant plus disponible en téléchargement, serait-il possible de l'avoir à nouveau, ou d'avoir le code svp?
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
23 déc. 2016 à 16:01
Bonjour
Désolé le classeur a été effacé (sans utilité pour moi)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
23 déc. 2016 à 17:13
Combien de lignes? combien de colonnes ?

colonnes jointives (par ex : A,B,C ) ou non ( A, ,C,D, , ,F) ?
0