VBA sous Excel : Ouvrir tous les classeurs

jbh_jibus Messages postés 2 Date d'inscription samedi 11 février 2006 Statut Membre Dernière intervention 12 février 2006 - 12 févr. 2006 à 06:27
jbh_jibus Messages postés 2 Date d'inscription samedi 11 février 2006 Statut Membre Dernière intervention 12 février 2006 - 12 févr. 2006 à 13:50
Bonjour,

Je désire en VBA, ouvrir tous les classeurs du dossier courant d'Excel en un minimum de ligne de commande.
Pouvez-vous m'aider
Merci

4 réponses

michelxld Messages postés 402 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 12 octobre 2008 32
12 févr. 2006 à 07:25
bonjour

cet exemple permet de boucler sur tous les classeurs d'un repertoire pour les ouvrir

Dim Fichier As String, Chemin As String
Dim Wb As Workbook


Chemin = "C:\Documents and Settings\michel\dossier\general\excel"
Fichier = Dir(Chemin & "*.xls")


Do While Fichier <> ""
Set Wb = Workbooks.Open(Chemin & Fichier)
'
'suite de la procedure
'
'Wb.Close True
Set Wb = Nothing
Fichier = Dir
Loop

sinon qu'apelles tu le "dossier courant d'Excel" ?

bon wee kend
michel
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
12 févr. 2006 à 10:26
Salut,

Pour recuperer le repertoire Courant tu peux utiliser la fonction CurDir

Voili,
@+
Julien
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
12 févr. 2006 à 12:41
Bonjour,

Je crois que ce code répond à ton souhait.



Pour sélectionner tous tes classeur utilises Ctrl + la souris.



Option Explicit

Sub OuvreClasseur()

Dim strFiles

Dim xlFiles

Dim blnOuvert As Boolean

Dim strMessage As String

Dim wbk As Workbook

Dim i As Integer

Dim j As Integer



'Affiche la boîte de dialogue Ouvrir

strFiles = Application.GetOpenFilename _

(FileFilter:="Fichiers Excel (*.xls),*.xls", _

Title:="Sélectionnez les fichiers à ouvrir", _

MultiSelect:=True)



'Teste si des fichiers ont été sélectionnés

If TypeName(strFiles) = "Variant()" Then

ReDim xlFiles(UBound(strFiles))

For i = 1 To UBound(strFiles)



'Contrôle l'exention du fichiers

If Right(strFiles(i), 3) = "xls" Then



'Teste si le fichier est déjà ouvert

blnOuvert = False

For Each wbk In Workbooks

If wbk.Path & "" & wbk.Name = strFiles(i) Then

blnOuvert = True

End If

Next wbk



'Stocke le nom de fichiers dans un tableau

If Not blnOuvert Then

j = j + 1

xlFiles(j) = strFiles(i)

strMessage = strMessage & strFiles(i) & vbCr

End If

End If

Next i



'Ouvre tous les fichiers Excel après confirmation

If j > 1 Then

strMessage = "Confirmez-vous l'ouverture des fichiers :" _

& vbCr & strMessage

If MsgBox(strMessage, vbYesNo + vbQuestion) = vbYes Then

For i = 1 To j

Workbooks.Open FileName:=xlFiles(i)

Next i

End If

End If

Else

MsgBox "Aucun fichier sélectionné"

End If

End Sub



jpleroisse



Si une réponse vous convient, cliquez Réponse Acceptée.
0
jbh_jibus Messages postés 2 Date d'inscription samedi 11 février 2006 Statut Membre Dernière intervention 12 février 2006
12 févr. 2006 à 13:50
Merci beaucoup à vous trois.
C'est vraiment très sympa.
0
Rejoignez-nous