Erreur 1004

Résolu
debutant.excel -  
 debutant.excel -
Bonjour,

J'ai une macro qui consiste à ouvrir un fichier qui se nomme "tuf" + une date (donc le nom du fichier change tous les jours).
Lorsque j'exécute cette macro, un message d'erreur s'affiche (erreur d'exécution '1004', 'tuf 30 mars.xls'introuvable.
Le fichier existe pourtant bien et se trouve dans le bon dossier.

Je joint la partie de la macro concernée
macro = ActiveWorkbook.Name

Chemin = "K:\dossier\SENSIBLE\alerte\"
tuf = Dir(Chemin & "tuf*")
Workbooks.Open Filename:=tuf

Auriez vous une petite idée du problème?
Merci

EDIT : Ajout des balises de code

3 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Bonjour,

    Première chose à faire lorsqu'on rencontre des soucis.. regarder ce que valent les variables
    donc
    macro = ActiveWorkbook.Name
    
    Chemin = "K:\dossier\SENSIBLE\alerte\"
    tuf = Dir(Chemin & "tuf*")
    
    '//affichage de la variable TUF pour vérifier
    debug.print (tuf)
    ' ou 
    msgbox tuf
    
    
    Workbooks.Open Filename:=tuf
    


    Deuxième point à vérifier :
    Le classeur que tu essayes d'ouvrir n'est il pas déjà utiliser ailleurs ?
    As tu les droits en écriture sur le répertoire où se trouve le fichier ?
    As-tu essayé de placer ce classeur dans un autre emplacement de ton disque dur et d'y accéder avec cette macro (en modifiant le chemin en conséquence bien entendu) ?

    0
    1. debutant.excel
       
      Bonjour Jordane45,

      Tout d'abord merci pour ta réponse et pour tes conseil.
      Ensuite pour répondre à tes différentes questions:
      J'ai essayer d'afficher la variable "TUF" mais ça n'a pas fonctionné. Toujours le même message d'erreur.
      Concernant le fichier à ouvrir, il n'est pas utilisé ailleurs et j'ai bien les droits en écriture sur le répertoire où il se trouve. J'ai changé l'emplacement de ce classeur comme tu me l'as conseillé mais toujours pareil.
      Par contre J'ai essayer d'écrire directement la ligne ci dessous et ça fonctionne
      Workbooks.Open Filename:="K:\TRANSIT\SENSIBLE\SYLVAIN\tuf 12".
      Ce qui me gène, c'est que j'ai plusieurs fichiers à ouvrir (tuf xxxx, vne xxxx, nte xxxx etc...) et je voudrais éviter de réécrire cette ligne à chaque fois.

      Merci
      0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour a vous deux,

    Votre probleme vient de la variable tuf que vous ecrivez en tant que texte dans la ligne de code du
    tuf = Dir(Chemin & <gras>"tuf*"</gras>)

    ceci devrait aller: sauf si plusieurs fichiers nommes tufxxxxx.xls
    Sub test()
        Chemin = "K:\dossier\SENSIBLE\alerte\"
        tuf = Dir(Chemin & tuf & "*.xls")
        'un fichier trouve ?
        If tuf <> "" Then
            Workbooks.Open Filename:=tuf
        Else
            MsgBox "pas de fichier trouvé!!!!!!!"
        End If
    End Sub
    0
  3. debutant.excel
     
    Bonjour f894009,

    Je te remercie pour ta réponse. J'ai résolu ce problème.
    0