Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2856 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] ouvrir fichiers...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA] ouvrir fichiers...

n°1989065
nico42000
Maître Yoda
Posté le 30-04-2010 à 13:07:20  profilanswer
 

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.
mood
Publicité
Posté le 30-04-2010 à 13:07:20  profilanswer
 

n°1989069
Deamon
Posté le 30-04-2010 à 13:23:55  profilanswer
 

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.

n°1989075
nico42000
Maître Yoda
Posté le 30-04-2010 à 13:37:19  profilanswer
 

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.
n°1989083
Deamon
Posté le 30-04-2010 à 13:44:40  profilanswer
 

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à.

n°1989202
nico42000
Maître Yoda
Posté le 30-04-2010 à 16:59:34  profilanswer
 

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.
n°1989207
Deamon
Posté le 30-04-2010 à 17:05:35  profilanswer
 

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

n°1989622
nico42000
Maître Yoda
Posté le 03-05-2010 à 10:57:18  profilanswer
 

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.
n°1989659
Deamon
Posté le 03-05-2010 à 11:31:54  profilanswer
 

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.

n°1989899
nico42000
Maître Yoda
Posté le 03-05-2010 à 17:22:56  profilanswer
 

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.
n°1990185
nico42000
Maître Yoda
Posté le 04-05-2010 à 14:30:49  profilanswer
 

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.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] ouvrir fichiers...

 

Sujets relatifs
Petit probleme de macro VBA sous ExcelVBA / Excel : Bug étrange ...
Macro Excel : "scan" de colonne et données sur plusieurs fichiersEquivalent du DriveListBox en VBA sur ACCESS
[JAVA-JEE] gérer les fichiersPerl > remplacer texte dans fichiers, recursivement
Taille des fichiers supérieure à une taille spécifique ?Vba supprimer plusieurs lignes if then end if
Question sur les fichiers 
Plus de sujets relatifs à : [VBA] ouvrir fichiers...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR