Afficher un message
Vieux 09/07/2005, 15h16   #7 (permalink)
MichelXld
XLDnaute Barbatruc
 
Date d'inscription: février 2005
Messages: 3 749
Par défaut Re:ADO Lecture Feuille Classeur Précise (Index 2)

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
MichelXld est déconnecté   Réponse avec citation