[VBA] ouvrir fichiers...

ouvrir fichiers... [VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 30-04-2010 à 13:07:20    

Bonjour tlm,
 
Pour avancer dans mon programme, j'aurais besoin de savoir comment réaliser ceci :
 
J'ai dans un dossier beaucoup de fichiers avec des termes commun et d'autres beaucoup moins avec en plus des nombres dans les noms de fichiers qui ne se suivent pas forcément.
ex :
x0-y1z1.txt
x0-y1z3.txt
x0-y2z1.txt
...
x1-y1z1.txt...
 
J'ai déjà mon programme qui me permet d'ouvrir tous les fichiers mais je n'ai pas toutes ces conditions. L'idée serait d'ouvrir d'abord tous les x0 peu importe ce qui suit.  
J'ai testé de différentes manières
x0-y*z*.txt  
mais sans succès, impossible d'ouvrir, vba ne comprend pas mes étoiles ce qui fait que le chemin n'est pas bon. J'ai du utiliser pour une fonction le like et ca avait très bien marcher. Comment faire ça pour l'ouverture d'un fichier.
 
Merci d'avance


Message édité par nico42000 le 30-04-2010 à 17:01:34

---------------
The Force Will be With You, Always.
Reply

Marsh Posté le 30-04-2010 à 13:07:20   

Reply

Marsh Posté le 30-04-2010 à 13:23:55    

Ce que je ferais : lister les fichiers de ton dossier, vérifier le nom du fichier, si ça commence par x0 on l'ouvre sinon on mets le nom dans une liste de fichiers à ouvrir plus tard. Une fois tous les fichiers passés on rependre la liste pour ouvrir ces fichiers restants.

Reply

Marsh Posté le 30-04-2010 à 13:37:19    

Ca m'a pas l'air mal. Donc tu ferais un tableau vide que tu remplirais au fur et à mesure, ca te donne un nombre de fichiers, et tu ouvre ensuite ton tableau ? Par contre comment tu compte exécuter les fichiers txt avec uniquement la partie xn ?  
 
Il faut aussi que je fasse un code erreur si xn (ex:entre 30 et 34 manque 31,32,33) n'existe pas mais comment savoir si tu es arrivé au bout des xn (54max). Tu me diras je peux le rentrer dans le code mais si je dois le faire sur un autre fichier... ?
 
Ca me donne déjà une approche, je vais réfléchir à la suite. J'avoue c'est tordu mais 700 fichiers, c'est long.


---------------
The Force Will be With You, Always.
Reply

Marsh Posté le 30-04-2010 à 13:44:40    

nico42000 a écrit :

Ca m'a pas l'air mal. Donc tu ferais un tableau vide que tu remplirais au fur et à mesure, ca te donne un nombre de fichiers, et tu ouvre ensuite ton tableau ? Par contre comment tu compte exécuter les fichiers txt avec uniquement la partie xn ?


Tu traites que le nom du fichier (ex: "x0-y1z1.txt" ) et c'est ça que tu stockes dans le tableau. Après tu dois avoir le nom du dossier qui contient tous les fichiers. Le but c'est de faire ensuite une boucle avec : Open(cheminDuDossier + "\" + tableauFichier[i])
La syntaxe est fausse mais c'est pour te montrer l'idée.
 

nico42000 a écrit :

Il faut aussi que je fasse un code erreur si xn (ex:entre 30 et 34 manque 31,32,33) n'existe pas mais comment savoir si tu es arrivé au bout des xn (54max). Tu me diras je peux le rentrer dans le code mais si je dois le faire sur un autre fichier... ?


Pas bien compris là.

Reply

Marsh Posté le 30-04-2010 à 16:59:34    

La partie x contient parfois des vides entre deux nombres.
x0....
x1....
x2....
x4....
x5....
x7.... etc jusqu'a 54
 
Il n'y a pas tous les nombres de 0 à max (54) donc pas forcément 55 morceaux.
 
Dis moi si je ne suis toujours pas clair, je sais c'est tordu.  
 
Je crois que je vais tout reprendre, je vais faire un impression ecran pour te montrer la tete des donnees.


Message édité par nico42000 le 30-04-2010 à 17:00:45

---------------
The Force Will be With You, Always.
Reply

Marsh Posté le 30-04-2010 à 17:05:35    

Et c'est quoi le problème ou la question ?

Reply

Marsh Posté le 03-05-2010 à 10:57:18    

Alors... je vois peut-être un problème là ou il n'y en a pas...
 
Admettons, le programme traite le nom de fichier parfaitement jusqu'à 5, il va ensuite tester 6 qui n'existe pas --> erreur normalement ? Il faut bien que je lui code si n'existe pas alors passe au nombre suivant jusqu'à valeur max soit 54 ?  
 
(désolé mais le week est passé dessus)


Message édité par nico42000 le 03-05-2010 à 10:57:53

---------------
The Force Will be With You, Always.
Reply

Marsh Posté le 03-05-2010 à 11:31:54    

Non c'est pas à toi de lui de charger tel fichier en lui spécifiant le nom. Tu vas lister tous les fichiers du dossier et stocker leur nom. Après tu charges les fichiers avec les noms stockés donc ils existeront forcément. Je sais pas si c'est clair.

Reply

Marsh Posté le 03-05-2010 à 17:22:56    

Ok, j'avais pas vu le stockage des fichiers dans un tableau comme ça. Par contre cela oblige à mettre dans un dossier tous les fichiers qui t'interesse, faire un tri quoi.
 
Ca c'est pas génant, par contre j'aimerais bien faire un tri particulier (onglets, en fonction d'un morceau du nom, j'imagine un "left z caracteres" ?) parce que dans chaque txt, il y a 2 colonnes soit pour environ 700 fichiers 1400 colonnes sous excell, qui va me renvoyer dans mes 22...
 
Derrière je dois tracer des graphs. Enfin si déja je peux transvaser les données sous excell... L'idée ce n'est pas d'y passer 3 jours.


Message édité par nico42000 le 03-05-2010 à 17:23:41

---------------
The Force Will be With You, Always.
Reply

Marsh Posté le 04-05-2010 à 14:30:49    

Bon merci bien deamon.
 
J'ai suivi ta piste et je m'en suis sorti. J'ai eu fait des choses plus propres mais ça a le mérite de fonctionner et de faire ce qu'on lui demande.


Message édité par nico42000 le 04-05-2010 à 14:31:10

---------------
The Force Will be With You, Always.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed