Re : importer toutes les données d'une colonne d'un classeur fermé
Merci, ça marche impeccable, voilà la procédure que j'ai développé à partir de ce que j'ai vu sur le site que tu m'as donné. Je la met en ligne au cas où quelqu'un chercherait à faire la même chose.
Sub importation_colonne_classeur_fermé(Chemin_classeur_origine As String, Nom_classeur_origine As String, feuille_origine As String, plage_origine As String, feuille_destination As String, plage_destination As String)
'on récupère l'initulé de la colonne
Set Source = New ADODB.Connection
Source.Open "Provider = Microsoft.Jet.OLEDB.4.0;" & _
"data source=" & Chemin_classeur_origine & Nom_classeur_origine & ";" & _
"extended properties=""Excel 8.0;"""
texte_SQL = "SELECT * FROM [" & feuille_origine & "$];"
Set requete = New ADODB.Recordset
requete.Open texte_SQL, Source, adOpenForwardOnly, _
adLockReadOnly, adCmdText
Range(Left(plage_destination, 1) & 1).Offset(0, 0) = Replace(requete.Fields(0).Name, "#", ".")
'on récupère les données de la colonne
Set cnn = New ADODB.Connection
cnn.Open "DRIVER={Microsoft Excel Driver (*.xls)};ReadOnly=1;DBQ=" & Chemin_classeur_origine & Nom_classeur_origine & ".xls"
Set rs = Source.Execute("[" & feuille_origine & "$" & plage_origine & "]")
Sheets(feuille_destination).Range(plage_destination).ClearContents
Sheets(feuille_destination).Range(plage_destination).CopyFromRecordset rs
rs.Close
cnn.Close
Source.Close
Set rs = Nothing
Set cnn = Nothing
Set Source = Nothing
End Sub
on utilise la procédure de la façon suivante:
Call importation_colonne_classeur_fermé("C:\Users\a\Desktop\", "Classeur_test", "Feuil1", "A1:A20", "Feuil1", "A2:A21")