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



A voir également:

5 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
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 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
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 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
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