Charger fichiers

Fermé
Alcap - Modifié le 7 févr. 2019 à 10:44
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 7 févr. 2019 à 18:43
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 :

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:

3 réponses

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
7 févr. 2019 à 11:09
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...
0
Bonjour Thau Theme,

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.
0
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
7 févr. 2019 à 17:13
Re,

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

0
Bonsoir ThauTheme,

Merci pour la réponse, effectivement ça fonctionne, bravo, heureusement qu'il y a des érudits du VBA ! Quelle explication peut on apporter au fait que ça fonctionne avec les 2 boucles et pas une seule ?
0
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
7 févr. 2019 à 18:43
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 ?!...
0