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 !

bloublou

XLDnaute Occasionnel
Bonjour à tous,

J'ai essayé d'utiliser les connections ADO pour récupérer des données dans des classeurs fermés et cela marche très bien.

J'ai vu sur certains fils concerant ADO que l'utilisation des plages dynamiques ne fonctionnait pas, mais je voudrais savoir si je pouvais combiner ADO avec un copier / coller qui me permette de ne pas écraser les valeurs déjà récupérées dans d'autres classeurs.

J'ai mis un classeur en exemple : TEST => c'est le fichier de destination; à partir de la 9ième ligne il y a déjà des données, normalement le copier coller (du fichier source : "A2:Y137"devrait s'opérer à la suite mais ca ne fonctionne pas 🙁

Je vous mets le code :

Sub COPY_ADO()

End Sub
Dim Source As Object, Requete As Object
Dim Onglet As String, Plage As String, fichier As String
Dim Texte_SQL As String


'détermination de la plage à extraire
fichier = "chemin fichier + nom.xlsx"
Onglet = "TOTO" '
Plage = "A2:Y137"

'connexion ADO
Set Source = CreateObject("ADODB.Connection")
Source.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"data source=" & fichier & ";Extended Properties=""Excel 12.0;HDR=No;"";"

'exerce la requete ADO sur les donnée à recopier
Texte_SQL = "SELECT * FROM [" & Onglet & "$" & Plage & "]"
Set Requete = CreateObject("ADODB.Recordset")
Set Requete = Source.Execute(Texte_SQL)

'restitue sur ton classeur
Range("A2", "A" & Plage).CopyFromRecordset Requete ' colle les données de la plage extraite

'libère les pointeurs
Set Requete = Nothing
Set Source = Nothing

Et je mets le fichier en exemple

Merci de votre aide,

BlouBlou
 

Pièces jointes

- 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

  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
817
Réponses
5
Affichages
237
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
169
Réponses
12
Affichages
970
Réponses
3
Affichages
491
Retour