VBA Excel copier cellulles d'un fichier fermé

cs_confortola Messages postés 2 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 13 juin 2012 - 10 juil. 2009 à 09:09
cs_nandinho Messages postés 14 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 10 juillet 2009 - 10 juil. 2009 à 13:30
J'ai trouvé le moyen de copier les cellules d'un fichier fermé par cette macro

*********************

Sub extractionValeurCelluleClasseurFerme()
Dim Source As ADODB.Connection
Dim Rst As ADODB.Recordset
Dim ADOCommand As ADODB.Command
Dim Fichier As String, Cellule As String, Feuille As String
'Adresse de la cellule contenant la donnée à récupérer
Cellule = "B6:N247"
'Pour une plage de cellules, utilisez:
'Cellule = "A4:C10"

Feuille = "UN$" ''n'oubliez pas d'ajouter $ au nom de la feuille.
'Chemin complet du classeur fermé
Fichier = "D:\Excel avec copie\ben01.xls"

Set Source = New ADODB.Connection
Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Fichier & ";Extended Properties=""Excel 8.0;HDR=No;"";"

Set ADOCommand = New ADODB.Command
With ADOCommand
.ActiveConnection = Source
.CommandText = "SELECT * FROM [" & Feuille & Cellule & "]"
End With

Set Rst = New ADODB.Recordset
Rst.Open ADOCommand, , adOpenKeyset, adLockOptimistic

Set Rst = Source.Execute("[" & Feuille & Cellule & "]")

Range("B6").CopyFromRecordset Rst

Rst.Close
Source.Close
Set Source = Nothing
Set Rst = Nothing
Set ADOCommand = Nothing
End Sub

Or je souhaiterais pouvoir coller avec liaison mes cellules et non pas directement leurs valeurs (le problème est la ligne verte).
Avez vous une idée?

Merci.

-- Thomas --

1 réponse

cs_nandinho Messages postés 14 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 10 juillet 2009
10 juil. 2009 à 13:30
Bonjour,

Essai quelque chose comme :

Range("B6").select
ActiveSheet.Paste Link:=True

nandinho
0
Rejoignez-nous