Ouvrir plusieurs classeur excel avec vba [Résolu/Fermé]

Signaler
-
 manarax -
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

Messages postés
8206
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
9 octobre 2020
1 492
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
17247
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 octobre 2020
4 288
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
Merci sa fonctionne super !
Messages postés
17247
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 octobre 2020
4 288
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.
j ai la meme situation , je veux afficher plusieurs fichiers excels dans un seul fichier