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

Boucle sur fichiers fermés

Mike

XLDnaute Nouveau
Bonjour,

J'ai réussi à adapter un code pour rapatrier une cellule définie dans une feuille définie en laissant le fichier source fermé.
J'aimerais qu'après avoir collé en D4 la valeur trouvée dans le fichier dont le chemin se trouve en cellule F4 de la feuille janvier du fichier fermé (cellule K26), la macro aille voir dans le fichier dont le chemin se trouve en F5 la cellule K26 et la colle en D5 et ainsi de suite jusqu'à ce que la macro tombe sur une cellule vide en colonne A.

En d'autres termes j'aimerais automatiser :

Path = Sheets("Janvier").Range("F4") -> Path = Sheets("Janvier").Range("F5")
ET
Range("D4").CopyFromRecordset Requete -> Range("D5").CopyFromRecordset Requete

Pouvez-vous m'aider s'il vous plaît.

Sub EXTRAIRE()
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


Path = Sheets("Janvier").Range("F4")
fichier = Path
Onglet = "Janvier" '
Plage = ("K26:K26")


Set Source = CreateObject("ADODB.Connection")
Source.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"data source=" & fichier & ";Extended Properties=""Excel 12.0 Xml;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
Sheets("Janvier").Activate
Range("D4").CopyFromRecordset Requete

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


End Sub
 

Discussions similaires

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