Une boucle dir qui renvoi toujours la même valeur

Résolu/Fermé
pierrot69 - 17 juil. 2014 à 11:42
borntobealive Messages postés 138 Date d'inscription jeudi 17 juillet 2014 Statut Membre Dernière intervention 25 février 2019 - 17 juil. 2014 à 15:43
Salut,

Voici mon problème je veux renommer des fichiers et les envoyer dans un autre dossier.
Jusque là facile je comptais utiliser la fonction Dir mais quand j'ecris mon code et que je vais dans l'outils de debug il ne change jamais la valeur de dec.fichier alors qu'il y a 8076 autres fichiers .csv qui n'attendent que ça ....

merci d'avance pour votre aide
Dec.fichier = Dir(Dec.DOS_SOURCE & "/" & "*csv")            'definition des fichiers csv
If Dec.fichier <> "" Then
    Do
        Application.ScreenUpdating = False
        Application.DisplayStatusBar = False
        Set Dec.wk = Workbooks.Open(Filename:=Dec.DOS_SOURCE & "/" & fichier, local:=True)
        Set Dec.wks = Dec.wk.Worksheets(1)
        Dec.sauver = Left(Dec.fichier, 5) & Left(Right(Dec.fichier, 13), 4) & "-" & Left(Right(Dec.fichier, 18), 2) & "-" & Left(Right(Dec.fichier, 21), 2) & Right(Dec.fichier, 12)
        Dec.wks.SaveAs Filename:=NOUV_DOS & sauver, CreateBackup:=False, local:=True
        Dec.wk.Close
        Application.ScreenUpdating = True
        Application.DisplayStatusBar = True
        Call evolution_fichier
        Dec.fichier = Dir
    Loop While Dec.fichier <> Dec.der_fichier
End If

11 réponses

Utilisateur anonyme
17 juil. 2014 à 15:19
Attention, si tu cherches les dossiers, il faut écrire dir (NOUV_DOS,vbDirectory) ou dir (S,vbDirectory), sinon Dir ne rend que les fichiers "simples" (sans attributs).
Tu as lu l'aide sur la fonction Dir ?
1
Utilisateur anonyme
17 juil. 2014 à 11:53
Bonjour

Pas de Dir dans ta fonction Call evolution_fichier ?
0
merci pour ta réactivité,

non justement j'y avais pensé, parce que dir sans argument prend normalement le dir suivant de la dernière instruction et là bah ... non
0
Utilisateur anonyme
17 juil. 2014 à 13:41
Tu as essayé de supprimer des morceaux de ton code pour voir si ton problème était lié à une action particulière (appel à evolution_fichier, open, SaveAs ...) ?
0

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

Posez votre question
borntobealive Messages postés 138 Date d'inscription jeudi 17 juillet 2014 Statut Membre Dernière intervention 25 février 2019 7
17 juil. 2014 à 15:00
en fait c'est pas le premier dir qui bug dans ma sub, juste au dessus je creer le nouveau dossier de stockage avec :
NOUV_DOS = dec.DOS_SOURCE & " modifier"
TB = split (NOUV_DOS, "\")
If dir (NOUV_DOS) = "" then
    S = TB(0) & "\"
    For i = 1 To UBound (TB)
        S = S  & TB(i) & "\"
        dat = dir(S)
        If dat = ""
            MkDir S
        End If
    Next i
End If



et là rebelote bug de Dir j'ai toujours comme resultat pour dat : "" même quand S = :D\ ....
0
borntobealive Messages postés 138 Date d'inscription jeudi 17 juillet 2014 Statut Membre Dernière intervention 25 février 2019 7
17 juil. 2014 à 15:01
c'est toujours la même personne c'est juste que j'ai créé un compte entre temps
0
borntobealive Messages postés 138 Date d'inscription jeudi 17 juillet 2014 Statut Membre Dernière intervention 25 février 2019 7
17 juil. 2014 à 15:30
oui mais les attributs restaient pour moi assez vague
je vais essayé (pour la création de dossier )


....

ok un rpoblème de résolu, il cherche enfin les dossiers :-) merci

Malheureusement dir reste verouiller sur le premier fichier du dossier "blabla" dans la suite. j'ai essayer de supprimer les actions precedentes et ça n'a rien changer
0
j'ai essayer de supprimer les actions precedentes et ça n'a rien changer
Tu es en train de me dire que dans ton Loop...Do While tu ne laisses que Dec.fichier = Dir et debug.Print Dec.fichier, Tu ne vois jamais rien d'autre que ton premier fichier (donc boucle infinie) ? J'ai du mal à te croire.
0
borntobealive Messages postés 138 Date d'inscription jeudi 17 juillet 2014 Statut Membre Dernière intervention 25 février 2019 7
17 juil. 2014 à 15:39
sisi....
0
borntobealive Messages postés 138 Date d'inscription jeudi 17 juillet 2014 Statut Membre Dernière intervention 25 février 2019 7
17 juil. 2014 à 15:40
pas tout à fait je fait même pas de debug.print j'ai les variables locales dans la fenêtre juste en dessous
0
borntobealive Messages postés 138 Date d'inscription jeudi 17 juillet 2014 Statut Membre Dernière intervention 25 février 2019 7
17 juil. 2014 à 15:43
erreur de synthaxe que je n'ai pas fait en recopiant sur le fichier source sur le forum j'utilise plus que de raison tab (toutes mes variables publiques sont dans un module à part : dec.) et evidement dec.fichier etait devenu dec.der_fichier .....

prout prout prout

2 heures sur une faute de frappe

désolé de t'avoir fait perdre ton temps
merci de m'avoir aidé sur les vbDirectory
0