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

ADO + copier coller

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

  • TEST.xlsm
    14.2 KB · Affichages: 41
  • TEST.xlsm
    14.2 KB · Affichages: 51
  • TEST.xlsm
    14.2 KB · Affichages: 47
G

Guest

Guest
Re : ADO + copier coller

Bonjour,

si tu veux les coller les unes à la suite des autres (si j'ai bien compris):

Code:
Cells(rows.count,1).end(xlup)(2).CopyFromRecordset Requete

A+
 

Discussions similaires

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