1gazelle
Messages postés24Date d'inscriptionmardi 8 mars 2005StatutMembreDernière intervention24 mars 2005
-
17 mars 2005 à 13:11
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 2006
-
17 mars 2005 à 15:08
Il se passe un truc de dingue!
enfin du moins que franchement j'arrive pas a comprendre et du coup pas a resoudre!
en fait quand j'execute ca (j'ai viré unbout du code ou il n'y a pas de pb), il n'arrive pas a passer d'un fichier a l'autre dans la boucle do ....loop
si j'enleve la ligne ou je lance la fonction traitement_import, tout se passe bien.
hors cette fonction ne change rien et le pire c'est que dans mes message box : elle n'a effectivement rien changé!!!!
avant ou apres la fonction : il a toujours les bonnes valeurs pour File_Is et Fichier_Juste!!!
je comprend pas ce qu'il se passe...
mais alors pas du tout!
Sub Bt_parcourir_QuandClic()
Dim CHEMIN As String
Dim File_Is As String
Dim Fichier_a_Ouvrir As String
Dim Fichier_juste As String
Dim Type_OK As Boolean
Dim x As New clsDIR
Dim sPath As String
Init_Var_TDB
Type_OK = False
Fichier_a_Ouvrir = ""
sPath = ""
ActiveSheet.Range("A1").Select
'Désactive le rafraichissement de l'écran
Application.ScreenUpdating = False
TDB.Sheets(Feuille_Balance).Activate
'appel de la fonction du choix du chemin
GetDirectory
CHEMIN = Dossier
'Cherche les fichiers TXT
File_Is = Dir(CHEMIN & "*.TXT")
Do Until File_Is = ""
Fichier_juste = CHEMIN & File_Is
If VarType(File_Is) = vbBoolean Then
Else
'traitement lié au fichier de correspondance
Type_OK = Traitement_Import(CasBalance, Fichier_juste)
MsgBox "le fichier temporaire est " & Fichier_juste
MsgBox "le fichier est " & File_Is
End If
MsgBox "le fichier temporaire est " & Fichier_juste
MsgBox "le fichier est " & File_Is
File_Is = Dir
Loop
Application.ScreenUpdating = True
End Sub
A voir également:
J'en ai marre!!!! je comprend rien a ce qui se passe !!!!!
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 17 mars 2005 à 15:08
Voici une option :
Faire une 1ere boucle avec ton Dir, pour stocker le nom de tous les fichiers à traiter dasn un tableau.
Refaire ensuite une boucle sur les éléments de ce tableaudans le corps de laquelle tu appeleras Traitement_import(). bien sur Traitement_Import ne doit ni supprimer ni ajouter de fichier potentiellement traitable : Ce serait de toute façon totalement incohérent !!
Christophe R
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 17 mars 2005 à 14:17
Salut
-1- Ton test If VarType(File_Is) = vbBoolean ne sert à rien puisque File_Is est une String, c'est toi même qui la dimensionne !
-2- Qu'y a t-il dans ta fonction/sub Traitement_Import ?
Comment tes paramètres sont définis ? ByVal ByRef ?
Si dedans tu refais un DIR, cela réinitialise la séquence et le Do-Loop ne veut plus rien dire
Vala
Jack
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
1gazelle
Messages postés24Date d'inscriptionmardi 8 mars 2005StatutMembreDernière intervention24 mars 2005 17 mars 2005 à 14:42
ok pour le premier point : tu as tout a fait raison.
(en fait je recupere le code d'une autre personne donc bon...j'ai pas fais gaffe a l'utilite de ce point...
pour le second point, la fonction traitement_import fait appel a tout un tas de fonction reparti sur 11 modules... donc sans doute que il y a un dir dans tout ca!(mais je vais regarder meme si ca risque de prendre du temps lol)
mais si je ne peux pas enlever les dir qu'il ya dans la fonction traitemant_import, comment faire pour parcourir les fichiers contenu dans mon dossier sans utiliser un dir? ou en l'utilisant en local...? est ce possible...?
en tout cas, merci pour tout : j'ai une bonne piste là!