Erreur 1004 avec macro pour ouvrir fichier excel.

SunCanBurn Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je rencontre un soucis avec une macro que j'ai trouvé et modifié afin qu'elle corresponde à mes besoins. Le plus étonnant, c'est que la modification a été un succès, elle a fonctionné.

Sauf que non, elle a fonctionné une fois et après quand je l'exécute à nouveau, j'ai une erreur 1004: fichier introuvable. vérifier l'orthographe du nom du classeur et la validité de l'emplacement.

Si une âme charitable veut bien me donner l'astuce, et m'expliquer le pourquoi du comment ça marche et après ça ne marche plus...

je vous copie-colle la partie incriminée.

ChDir "D:\123\ab"
    ClasseurRegional = Dir("D:\123\ab\*.xls")
    While Len(ClasseurRegional) > 0
        Workbooks.Open ClasseurRegional [[[<=== c'est là que ça ne va pas.]]]
        Range("A4:R4").Copy
        Workbooks("alpha.xlsm").Activate
        DebutNomFichier = ActiveSheet.UsedRange.Rows.Count + 1
        Range("A" & ActiveSheet.UsedRange.Rows.Count + 1).Select
        ActiveSheet.Paste
        Workbooks(ClasseurRegional).Close
        ClasseurRegional = Dir
    Wend


Merci pour votre retour.

Amicalement,

S

1 réponse

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Je mets toujours le chemin du fichier, pas besoin du ChDir
    Chemin = "D:\123\ab\"
    ClasseurRegional = Dir(Chemin & "*.xls")
    While ClasseurRegional <> ""
        Workbooks.Open Chemin & ClasseurRegional
        Range("A4:R4").Copy
        Workbooks("alpha.xlsm").Activate
        DebutNomFichier = ActiveSheet.UsedRange.Rows.Count + 1
        Range("A" & ActiveSheet.UsedRange.Rows.Count + 1).Select
        ActiveSheet.Paste
        Workbooks(ClasseurRegional).Close
        ClasseurRegional = Dir
    Wend
    0
    1. SunCanBurn Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour et merci de ton retour !

      Je viens d'essayer ta méthode mais elle ne semble pas fonctionner. Aucune copie n'a lieu dans le fichier de destination et je n'observe aucun "ralentissement" du à l'ouverture/fermeture des fichiers Excels :/

      Cordlt,

      S
      0
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > SunCanBurn Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
       
      Re,
      Je viens d'essayer ta méthode mais elle ne semble pas fonctionner
      Ce n'est pas ma methode, mais la votre, je n'ai modifie que pour l'ouverture fichier,
      0
    3. SunCanBurn Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
       
      Mmmh très bien il va falloir que je retravaille tout cela dans ce cas.
      0
    4. SunCanBurn Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
       
      Si vous avez une solution différente à la mienne, je suis preneur.

      Crdlt
      0
    5. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > SunCanBurn Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
       
      Re,
      Oui, copie de plage sans ouvrir le classeur
      Je vous fais ca
      Suite:
      Ou plutot regardez ceci et adaptez le a votre besoin, si vous n'y arrivez pas, je prendrai la suite
      https://www.commentcamarche.net/faq/32961-vba-excel-lire-dans-un-classeur-ferme
      0