Copier avec liaison
j
Bonjour
J'ai 2 documents. Je veux copier-coller avec liaison de mon document source à mon document destination. Je bloque sur le coller avec liaison. J'arrive seulement a faire un copier coller.
J'ai essayer pastelink, link:=true je me retrouve avec des code d'erreur.
Je ne suis pas spécialiste avec le VBA, je commence a en faire et je ne maitrise pas toutes les subtilités.
Voici ce que j'ai écrit jusqu'à présent :
Sub CopyCellule()
Dim source As Workbook
Dim destination As Workbook
Dim lastRow As Long
' Définit le classeur source comme le classeur actif
Set source = ThisWorkbook
' Ouvre le classeur destination et définit la feuille de calcul "Synthèse" comme la feuille active
Set destination = Workbooks.Open("C:\temp\Suivi.xlsm")
destination.Worksheets("Synthèse").Activate
' Détermine la prochaine ligne vide dans la colonne A de la feuille de calcul "Synthèse"
lastRow = destination.Worksheets("Synthèse").Cells(Rows.Count, 1).End(xlUp).Row + 1
' Copie chaque plage de cellules et les collent dans la prochaine ligne vide de la feuille de calcul "Synthèse"
Dim rangesToCopy As Variant
rangesToCopy = Array("A1", "A2", "A3", "B5", "B6", "B7", "B8", "B9", "B10", "C10", "D10", "B11", "B12", "B13", "B14")
Dim i As Long
Dim j As Long
For i = LBound(rangesToCopy) To UBound(rangesToCopy)
source.Worksheets("Général").Range(rangesToCopy(i)).Copy
destination.Worksheets("Synthèse").Range("A" & lastRow).Offset(0, j).PasteSpecial
j = j + 1
Next i
MsgBox "ok"
'autre commande à suivre, sauvegarde, error...
End SubEst-ce que vous avez des suggestion pour effectuer un coller avec liaison.
Merci!
C
Bonjour joh,
Le plus simple est d'utiliser une formule :
For i = LBound(rangesToCopy) To UBound(rangesToCopy)
destination.Worksheets("Synthèse").Range("A" & lastRow).Offset(0, j).Formula = "=[" & source.Name & "]Général!" & rangesToCopy(i)
j = j + 1
Next iCdlt,
Cylfo
j
Bonjour Cylfo
Ça fonctionne très bien! Merci beaucoup pour la suggestion