bonjour Sylvie , bonjour @+Thierry
je n'ai pas suivi la totalité du sujet , mais pour importer les données de la 2eme feuille du classeur fermé , tu peux tester
Code:
Sub donneesDeuxiemeFeuilleClasseur()
'necessite d'activer la reference Microsoft ActiveX Data Objects x.x Library
'necessite d 'activer la reference Microsoft ADO Ext 2.7 for DLL ans Security
Dim Cn As ADODB.Connection
Dim Rs As New ADODB.Recordset
Dim Cat As ADOX.Catalog
Dim Fichier As String
Dim xConnect As String, Feuille As String
Dim Cible As String
Dim i As Byte
Fichier = 'C:\\Documents and Settings\\michel\\dossier\\general\\excel\\piloterFlash.xls'
xConnect = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' & Fichier & ';' & _
'Extended Properties=Excel 8.0;' 'preparation connection
Set Cat = CreateObject('ADOX.Catalog')
Set Cn = CreateObject('ADODB.Connection')
Cn.Open xConnect
Set Cat.ActiveConnection = Cn
Feuille = Cat.tables(1).Name 'nom de la 2eme feuille dans le classeur fermé
Cible = 'SELECT * FROM [' & Feuille & '];'
Set Rs = New ADODB.Recordset
Rs.Open Cible, Cn, adOpenForwardOnly, adLockReadOnly, adCmdText
If Not Rs.EOF Then
'For i = 0 To Rs.Fields.Count - 1 'recupere entetes
'Range('A1').Offset(0, i) = Rs.Fields(i).Name
'Next
Range('A2').CopyFromRecordset Rs
Else
MsgBox 'Aucun enregistrement renvoyé.', vbCritical
End If
Rs.Close
Set Rs = Nothing
Set Cn = Nothing
Set Cat = Nothing
End Sub
sinon ci joint quelques exemples pour récupérer les noms des classeurs fermés :
http://www.excel-downloads.com/compo...d,49587/#49587
pour importer les données de toutes les feuilles d'un classeur fermé sans connaitre leur nom (exemple 2 dans le zip )
http://www.excel-downloads.com/compo...eursFermes.zip
bon apres midi
MichelXld