Charger fichiers
Alcap
-
ThauTheme Messages postés 1442 Date d'inscription Statut Membre Dernière intervention -
ThauTheme Messages postés 1442 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je rencontre un problème que je ne parviens pas à résoudre.
Je veux charger plusieurs fichiers Excel dont les noms figurent dans la colonne A mais seul le premier est chargé ensuite erreur 1004 ! Nous ne trouvons pas "G:\" ... Voici la procédure :
Merci de votre aide
Alcap
Je rencontre un problème que je ne parviens pas à résoudre.
Je veux charger plusieurs fichiers Excel dont les noms figurent dans la colonne A mais seul le premier est chargé ensuite erreur 1004 ! Nous ne trouvons pas "G:\" ... Voici la procédure :
Sub charger() Dim chemin, fichier As String chemin = "G:\" For i = 1 To 2 fichier = chemin & Range("A" & i).Value Workbooks.Open (fichier) Next i End Sub
Merci de votre aide
Alcap
A voir également:
- Charger fichiers
- Renommer des fichiers en masse - Guide
- Fichiers epub - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Explorateur de fichiers - Guide
- Fichiers bin - Guide
3 réponses
Bonjour Alcap, bonjour le forum,
Je ne vois qu'une seule explication, la cellule A2 contient un nom qui n'est pas STRICTEMENT identique au nom du fichier à ouvrir...
Je ne vois qu'une seule explication, la cellule A2 contient un nom qui n'est pas STRICTEMENT identique au nom du fichier à ouvrir...
Re,
Essaie comme ça :
Essaie comme ça :
Sub charger() Dim CL As Workbook Dim O As Worksheet Dim chemin, fichier As String Set CL = ThisWorkbook Set O = CL.Worksheets("Feuil1") 'à adapter chemin = "G:\" For i = 1 To 2 fichier = chemin & O.Range("A" & i).Value Workbooks.Open (fichier) Next i End Sub
Re,
En fait, si tu stockes les noms de fichier dans un tableau de variables au préalable (fichier(i)) ça marche car on ne va plus lire le nom dans un cellule. En revanche, si tu utilises la référence à la cellule ça ne marche que pour le premier fichier qui s'ouvre. Dès lors, il devient le classeur actif. Donc la deuxième cellule de la boucle correspond à ce classeur et ne contient plus le nom du second fichier.
C'est pour cela que j'ai spécifié le classeur, le nom de l'onglet de ce classeur, avant de spécifier la cellule...
Je relis et je me demande si c'est bien clair ce que je dis ?!...
En fait, si tu stockes les noms de fichier dans un tableau de variables au préalable (fichier(i)) ça marche car on ne va plus lire le nom dans un cellule. En revanche, si tu utilises la référence à la cellule ça ne marche que pour le premier fichier qui s'ouvre. Dès lors, il devient le classeur actif. Donc la deuxième cellule de la boucle correspond à ce classeur et ne contient plus le nom du second fichier.
C'est pour cela que j'ai spécifié le classeur, le nom de l'onglet de ce classeur, avant de spécifier la cellule...
Je relis et je me demande si c'est bien clair ce que je dis ?!...
Merci pour la réponse mais la colonne A contient bien le nom des fichiers, pas d'erreur de ce coté. Par contre la procédure suivante fonctionne :
Sub Test()
Dim fichier(2) As String
Application.ScreenUpdating = False
For i = 1 To 2
fichier(i) = Range("A" & i).Value
Next i
For i = 1 To 2
Workbooks.Open (fichier)
Next i
Application.ScreenUpdating = True
End Sub
Mais avec 2 boucles c'est pas très élégant !
As tu essayé la première procédure ?
Merci.