Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

importer toutes les données d'une colonne d'un classeur fermé

  • Initiateur de la discussion Initiateur de la discussion Oranger
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Oranger

XLDnaute Occasionnel
Bonjour, je cherche à réussir à importer toutes les données d'une colonne donnée d'un classeur fermé en VBA. Quelqu'un aurait_il une idée? Merci d'avance à tous ceux qui prendront le temps de m'aider. Oranger
 
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")
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
625
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…