Bonjour.
Je ne saisi pas bien ta notion d'entête dans une table et ta volonté de la préserver.
Une table est composée de champ. Si tu nomme un champ NomClient qu'il y ai des données ou pas, le champ reste nommé NomClient.
Pour ce qui est des tables liées, oui tu peux avoir tes données dans des bases externes. La taille max d'une base Access est 2 Go mais tu peux avoir par exemple 3 x 2Go en mettant tes données dans 3 bases séparées.
Attention la base qui fait le traitement ne doit pas excéder 2 Go en tout temps. Il faut surveiller car pendant le traitement elle a tendance à gonfler.
Une autre possibilité est peut-être de ne pas charger tes données dans des tables en travaillant par code VBA directement sur tes données texte.
Dépendamment de ce que tu dois faire tu n'as peut être pas besoin d'avoir toutes tes données simultanément.
Évidement cela peut être plus de travail au niveau du code et de la conception de l'algorithme.
Autre possibilité : injecter une entête dans tes fichiers sans entête. Tu pourrais ajuter une ligne d'entête au début de ton fichier texte avec la vielle instruction MS-DOS Copy.
De mémoire c'est un truc du type
Copy FichierEntete + FichieDonnees FichierResultat
Enfin, migrer ton application vers une "grosse" BD du genre MS-SQL Server, Oracle ou DB2 pourrait s'avérer rentable.
Ces BD sont prévues pour gérer des très gros volume de données sans contraintes à part l'espace disque.
A+
Partager