Ouvrir plusieurs classeur excel avec vba

Résolu
Axel_02450 -  
 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

Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
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 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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
Axel_02450
 
Merci sa fonctionne super !
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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
manarax
 
j ai la meme situation , je veux afficher plusieurs fichiers excels dans un seul fichier
0