Ouvrir plusieurs classeur excel avec vba

Résolu/Fermé
Axel_02450 - 28 avril 2011 à 15:23
 manarax - 5 mars 2014 à 11:00
Bonjour,

J'aimerais ouvrir plusieurs fichier excel contenu dans un seul répertoire. J'ai tenté quelque chose mais au moment d'ouvrir le classeur il me donne le nom du premier fichier du répertoire mais me dit qu'il est introuvable :

Sub ee()

Dim NOMFICH As String
NOMFICH = Dir("S:\...\" & "*.xls")
Workbooks.Open Filename:=NOMFICH


End Sub

Est-ce que quelqu'un aurait une solution ?
Merci d'Avance



5 réponses

Patrice33740
Messages postés
8549
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
7 mai 2022
1 755
Modifié par Patrice33740 le 28/04/2011 à 21:48
Bonjour,

Voici un code qui utilise le FSO :
Private Sub Ouvre_Fichiers()  
' Ouvre tous les fichiers excel contenus dans un répertoire.  
'  
Dim Système As Object           'Système de fichiers  
Dim Dossier As Object           'Répertoire  
Dim Fichiers As Object          'Collection de fichiers du répertoire  
Dim Fichier As Object           'Fichier (élément de la collection Fichiers)  
Dim Nom_Dossier As String       'Nom du répertoire  
Dim Nom_Fichier As String       'Nom du fichier  

'Lecture du répertoire 
Nom_Dossier = "D:\TEMP" 
Set Système = CreateObject("Scripting.FileSystemObject") 
Set Dossier = Système.GetFolder(Nom_Dossier) 
Set Fichiers = Dossier.Files 
'Contrôler chaque fichier du répertoire 
For Each Fichier In Fichiers 
  '- Vérifier s'il s'agit d'un fichier Excel... 
  If StrComp(Système.GetExtensionName(Fichier.Name), "xls", vbTextCompare) = 0 Then 
    '... dans l'affirmative, ouvrir le fichier et mettre à jour les liaisons 
    Nom_Fichier = Nom_Dossier & "\" & Fichier.Name 
    Workbooks.Open Filename:=Nom_Fichier, UpdateLinks:=xlUpdateLinksAlways 
  End If 
Next Fichier 

End Sub



Cordialement
Patrice
6
Mike-31
Messages postés
18048
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
19 septembre 2022
4 992
28 avril 2011 à 22:31
Salut,

Comme tes fichiers sont dans le même répertoire en supposant qu'ils se nomment respectivement Un.xls, Deux.xls et Trois.xls et que tu souhaites les ouvrir depuis par exemple le fichier Quatre.xls
colle ce code dans un module du fichier Quatre que tu associes à un bouton ou place le dans un activex

Sub Ouvrir ()
On Error Resume Next
Workbooks.Open ThisWorkbook.Path & "\Un.xls"
Workbooks.Open ThisWorkbook.Path & "\Deux.xls"
Workbooks.Open ThisWorkbook.Path & "\Trois.xls"
End Sub

il est également possible de le placer dans la Thisworkbook du fichier Quatre ce qui ouvrira les quatres fichiers en même temps

Private Sub Workbook_Open()
On Error Resume Next
Workbooks.Open ThisWorkbook.Path & "\Un.xls"
Workbooks.Open ThisWorkbook.Path & "\Deux.xls"
Workbooks.Open ThisWorkbook.Path & "\Trois.xls"
End Sub
0
Merci sa fonctionne super !
0
Mike-31
Messages postés
18048
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
19 septembre 2022
4 992
29 avril 2011 à 09:03
Re,

Tu pourrais également associer l'ouverture de tes fichiers à une liste déroulante qui permettrait d'ouvrir un fichier avec un simple clic.

Je passe le statut de la discussion en résolu, mais tu pourras y revenir si tu le souhaites.

cordialement.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
j ai la meme situation , je veux afficher plusieurs fichiers excels dans un seul fichier
0