Importation de données excel
Bonjour à tous,
J'ai trouvé un code qui me permet d'importer les données d'un classeur excel fermé dans mon classeur actif. En voici le code :
Code:
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 31 32 33
| Dim Cn As ADODB.Connection
Dim Fichier As String
Dim NomFeuille As String, texte_SQL As String
Dim Rst As ADODB.Recordset
'Définit le classeur fermé servant de base de données
Fichier = Chemin & "H " & Me.ListBox1.Value
'Nom de la feuille dans le classeur fermé
NomFeuille = "Hist " & Label1
Set Cn = New ADODB.Connection
'--- Connection ---
With Cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & Fichier & _
";Extended Properties=Excel 8.0;"
.Open
End With
'-----------------
'Définit la requête.
'/!\ Attention à ne pas oublier le symbole $ après le nom de la feuille.
texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute(texte_SQL)
'Ecrit le résultat de la requête dans la cellule A1
If ThisWorkbook.Sheets(NomFeuille).Visible = False Then ThisWorkbook.Sheets(NomFeuille).Visible = True
ThisWorkbook.Sheets(NomFeuille).Select
Cells.Select
Selection.Delete
Range("A1").CopyFromRecordset Rst
'--- Fermeture connexion ---
Cn.Close
Set Cn = Nothing
ThisWorkbook.Sheets(NomFeuille).Visible = False |
Toutefois, les colonnes à importer doivent contenir des valeures dans les premières lignes du haut, sinon, elles ne sont pas du tout importées.
Quelqu'un a-t-il une solution autre que mettre une ligne pour "accomoder" avec des valeures bidons dans le haut?
Merci à l'avance pour votre intérêt!