Erreur d'execution 1004 Fichier introuvable
Bonjour,
Je suppose que mon problème est déjà arrivé car j'utilise la version Excel 2000 mais je n'ai pas trouvé le sujet avec la solution dans les nombreuses pages qui traitent de cette "erreur d'exécution 1004".
J'espère que vous pourrez m'aider avec ma première macro qui fonctionne bien si on laisse de côté ce message d'erreur...
L'idée initiale était de faire un tableau récapitulatif de plusieurs classeurs excel.
Tout se passe bien jusqu'à ce que je ferme et que je ré ouvre Excel. Dès lors, en lançant la macro, le message d'erreur "erreur d'exécution 1004 "untel.xls" introuvable " apparait en m'indiquant le nom du premier fichier qui doit être pris en compte alors que moi, dans la macro, j'ai indiqué "*.xls" : Donc pourquoi, ça me dit que le fichier est introuvable si son nom a été trouvé?
J'ai changé le niveau de sécurité (Outils _ macro _ sécurité) en le mettant au plus bas pour savoir si c'était ça, mais ça ne fonctionne toujours pas.
Pour déboguer, j'arrête la macro, en enregistre une nouvelle dans laquelle je refais le chemin d'accès à un des fichiers que je veux synthétiser. Je copie-colle ce chemin d'accès dans la macro initiale (ce qui est collé correspond exactement à ce qui était indiqué précédemment).
Je clique F5, et tout fonctionne. Alors que fondamentalement, rien n'a changé.
J'ai mis en fichier joint l'endroit surligné par le débogage. En bleu, le chemin d'accès concerné (les noms des fichiers sont en ".xlsx.xls" car je n'ai pas trouvé dans cette version d'excel la possibilité de changer le .xls en .xlsx et comme le tableau récapitulatif est dans le même fichier, il m'a semblé qu'il fallait une différence pour que la macro sache quel fichier prendre en compte ou non).
Est-ce un problème de configuration qui bloque les macros? mais j'ai pas trouvé où ça pouvait se changer.
Voilà, j'espère que le souci n'est pas grave,
Et vous remercie
Bonjour,
Tu travailles sous Excel 2000, alors sans grande conviction mais modifies :
Dir("P:\Echange\_Ressources humaines\Formations\DIF\*.xlsx.xls")
par
Dir("P:\Echange\_Ressources humaines\Formations\DIFs\*.xls")
Pour la prochaine fois évites de joindre un document Word dans un forum Excel, çà le fait pas
Cdlt
Bonjour Jean-Eric,
J'ai essayé, ça ne fonctionne pas, j'ai le même message d'erreur qui apparait.
Pardon pour le fichier word, c'est vrai que j'ai pas pensé au conflit d'intérêt...
Si jamais t'as une autre idée ^^
Merci
Re,
Insères la partie du code surligné et vois ce que cela dit :
'Parcours de tous les fichiers d'agent
MsgBox CurDir
ChDir "P:\Echange\_Ressources humaines\Formations\DIF"
ClasseurAgent = Dir("P:\Echange\_Ressources humaines\Formations\DIF\*.xls")
Cdlt
Re,
La boîte de message m'indique: C\Documents and settings\Stage\Mes Documents.
Voilà, merci
Re,
Ajoutes alors :
ChDrive "P"
Avant ChDir
Cdlt
Re,
ça fonctionne!
Super, merci!!
Bonne journée
Bonjour,
Je déterre !!
J'ai exactement le même problème... Mais les manips conseillées ne fonctionne pas, ce n'est pas tout à fait le même code aussi.
Voici mon code :
FichContrat = Dir("C:\Users\Frédéric\Desktop\Fondation du Coeur\Contrats Test\*.xlsx")
Set wb_maitre = ActiveWorkbook
Do While FichContrat > ""
' // On ouvre le classeur contrat en lecture seule
Workbooks.Open Filename:= _
FichContrat
C'est à cette dernière ligne que j'ai l'erreur 1004 avec mon premier contrat sélectionné dans le Dir qui n'est pas trouvé (alors que le Dir l'a trouvé tout seul a priori...)
La MsgBox de votre code proposé m'indique "C:\Users\Moi\Documents"
Merci d'avance
Bonjour j'ai un soucis sur ma macro vba consolider : J'ai 2 fichiers de synthèse que je veux regrouper en un seul au travers d'une macro vba "consolider". Mais après avoir fonctionné une fois, celle-ci me dit maintenant qu'elle ne trouve pas les fichiers à consolider lors de l’exécution. Pourriez-vous m'aider s'il vous plait.
l'ensemble de mes 3 fichiers sont dans le même dossier (mais je ne pense pas que cela vienne de là).
Merci à vous pour vos éclaircissement.
Synthèse globale : Synthèse arbitrage 2018
Fichiers à consolider : SyntArbitre2018 - SyntArbitre2017
Quand il y a le blocage, quand je passe la souris sur la ligne "nomClasseur" le classeur s'affiche.
Macro :
Option Explicit
'Déclaration variables
Dim NomClasseur As String
Dim LigneTotal As Integer
Dim Derligne As Integer
'Procedure permettant de consolider classeurs
Sub Consolider()
'on désactive le raffressichement de l'écran
Application.ScreenUpdating = False
'Etape 1 Création des en-têtes
'On réinitialise le fichier synthèse
Columns("B:S").Clear
Range("A1").Value = "N°"
Range("B1").Value = "NOM"
Range("C1").Value = "PRENOM"
Range("D1").Value = "NAISSANCE"
Range("E1").Value = "ADRESSE"
Range("F1").Value = "CP"
Range("G1").Value = "VILLE"
Range("H1").Value = "COURRIEL"
Range("I1").Value = "TEL FIXE"
Range("J1").Value = "TEL PORT"
Range("K1").Value = "CLUB"
Range("L1").Value = "LICENCE"
Range("M1").Value = "ANNEE DEB"
Range("N1").Value = "NIV 2017"
Range("O1").Value = "DDE 2018"
Range("P1").Value = "ARBITRE 2018"
Range("Q1").Value = "AP 2017"
Range("R1").Value = "AP 2018"
Range("S1").Value = "ANC LIGUE"
'Couleur de fond
Range("A1:S1").Interior.Color = vbBlue
'Couleur de police
Range("A1:S1").Font.Color = vbWhite
'Mise en gras
Range("A1:S1").Font.Bold = True
'Etape 2 : Parcourir les deux fichiers
ChDir "G:\TRIATHLON\Arbitrage\2018\3_Formation\Fiche_retour_2018\Synthèses"
'On cherche le premier classeur dans le dossier
NomClasseur = Dir("G:\TRIATHLON\Arbitrage\2018\3_Formation\Fiche_retour_2018\Synthèses\*.xlsx")
'On boucle
While Len(NomClasseur) > 0
Application.DisplayAlerts = False 'Désactive boite de dialogue
Workbooks.Open NomClasseur 'Ouverture du classeur
LigneTotal = ActiveSheet.UsedRange.Rows.Count 'On compte le nb de ligne
Range("B4:S" & LigneTotal).Copy 'On copie ttes les lignes
Workbooks("Synthèse arbitrage 2018").Activate 'On revient sur la synthèse
Derligne = ActiveSheet.UsedRange.Rows.Count + 1 'On recherche la plage vide
Range("B" & Derligne).Select 'On se positionne sur la dernière ligne vide
ActiveSheet.Paste 'Je colle les données
Workbooks(NomClasseur).Close 'Fermeture classeur ouvert
NomClasseur = Dir 'On passe au prochain classeur
Range("A1").Select
Wend
MsgBox "La consolidation est terminée."
'on réactive le raffressichement de l'écran
Application.ScreenUpdating = True
End Sub