Bonjour
je utilise ce code pour lire d´une fichiee Excel fermee:
quand le fichier excel est ouvert le programme fonctionne, mais quand le fichiee Excel est fermee il y a une message d´erreur "le tableau externe n´a pas le forma attendu"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 Sub Lire_Classeur_Ferme() 'Réf. 111018.xlsm 'Références à sélectionner : 'référence Microsoft ActiveX Data Objects x.x Library Dim cn As ADODB.Connection Dim Fichier As String Dim NomFeuille As String, texte_SQL As String 'Définit le classeur fermé servant de base de données Fichier = "C:\Users\Daniel\Documents\Donnees\Daniel\Excel\ADO\ClasseurFerme.xls" '*** à modifier Set cn = New ADODB.Connection '--- Connexion --- With cn .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Data Source=" & Fichier & _ ";Extended Properties=Excel 8.0;" .Open 'texte_SQL = "SELECT * FROM [" & NomFeuille & " ]" NomFeuille = "MaNouvelleFeuille" '*** à modifier texte_SQL = "SELECT * FROM [" & NomFeuille & "$]" Set rst = New ADODB.Recordset Set rst = .Execute(texte_SQL) 'Ecrit le résultat de la requête dans la cellule A2 Sheets("Feuil3").Range("A2").CopyFromRecordset rst '*** à modifier End With '--- Fermeture connexion --- cn.Close Set cn = Nothing End Sub
j´ai Excel 2007
merci bien
Partager