Petit problème ...

Le
michel.legeria
Comment faire un copié-collé avec liaison, qui conserve la mise en form=
e ?

J'ai besoin d'égaler au niveau valeur et mise en forme, des cellules de d=
eux fichiers excel distincts.

Merci pour toute aide.

Michel
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #25702612
Bonjour,

Fais d'abors un copier collé puis un collage spécial, bouton "coller
avec liaison.

Cordialement.

Daniel


Comment faire un copié-collé avec liaison, qui conserve la mise en forme ?

J'ai besoin d'égaler au niveau valeur et mise en forme, des cellules de deux
fichiers excel distincts.

Merci pour toute aide.

Michel
LSteph
Le #25702752
Bonjour à toi aussi,

Tu peux faire en deux Copier Coller Spécial
un pour le Format puis un pour la liaison
mais
si le format est modifié , il n'y aura pas de changement, la liaison ne
jouera que sur la valeur!!

Cordialement.

--
LSteph
news:
Comment faire un copié-collé avec liaison, qui conserve la mise en forme ?

J'ai besoin d'égaler au niveau valeur et mise en forme, des cellules de deux
fichiers excel distincts.

Merci pour toute aide.

Michel
michel.legeria
Le #25708952
Merci pour vos réponses.

J'avais fini par trouver comme le faire en deux temps.

1- copie avec liaison
2- copie mise en forme

Mais, donc, il ne semble pas exister de copie de
mise en forme avec liaison ...

Quelqu'un aurait-il une macro qu'on appelerait périodiquement
(ou sur évènement) et qui ferait le boulot de laison
totale (valeur ET mise en forme) ?

Michel
MichD
Le #25709102
Bonjour,

'Suppose que tu veux copier la plage D1:D3
'de la feuil1 vers la plage B1 de la feuil2

Et la macro : Tu adaptes le nom des feuilles et de la plage
de cellules si nécessaire dans la procédure
'-----------------------------------
Sub test()
'Suppose que tu veux copier la plage D1:D3
'de la feuil1 vers la plage B1 de la feuil2
Dim Rg As Range
Application.ScreenUpdating = False
Application.EnableEvents = False

With Worksheets("Feuil1")
Set Rg = .Range("D1:D3")
Rg.Copy
End With
With Worksheets("Feuil2")
.Range("B1").PasteSpecial xlPasteAll
.Range("B1").PasteSpecial xlPasteColumnWidths

.Paste Destination:=.Range("B1").Resize(Rg.Rows.Count, _
Rg.Columns.Count)
.Paste link:=True
End With

Application.CutCopyMode = False
Application.ScreenUpdating = True
Application.EnableEvents = True

End Sub
'-----------------------------------

MichD
--------------------------------------------------------------
profbeaumard
Le #25719252
Merci MichD ! C'est très gentil ...

Sais-tu si il est possible d'indexer des plages contenues
dans des fichiers différents pour dupliquer, donc, par exemple,
la plage A1:D20 de la feuill1 du fichier SOURCE.xls vers la plage
D3: de la feuille feuill2 du fichier DESTINATION.XLS ?





Le vendredi 4 octobre 2013 11:16:52 UTC+2, a écrit  :
Comment faire un copié-collé avec liaison, qui conserve la mise en fo rme ?



J'ai besoin d'égaler au niveau valeur et mise en forme, des cellules de deux fichiers excel distincts.



Merci pour toute aide.



Michel



Merc
MichD
Le #25719492
Le classeur Source.xls et Destination.xls doit être ouvert.

Je ne suis pas sûr de comprendre ce que tu entends par "Indexer"
dans ta question.

Si tu veux simplement faire une simple copie : (une seule ligne)
Workbooks("SOURCE.xls").Worksheets("Feuil1").Range("A1:D20").copy
Workbooks("DESTINATION.XLS").Worksheets("Feuil2").Range("D3")


'----------------------------------------------------
Sub test()
'Suppose que tu veux copier la plage A1:D20
'de la feuil1 du classeur où tu as copié la macro
'vers le classeur "Destination", feuil2, cellule D3
Dim Rg As Range
Application.ScreenUpdating = False
Application.EnableEvents = False

With Workbooks("SOURCE.xls").Worksheets("Feuil1")
Set Rg = .Range("A1:D20")
Rg.Copy
End With
With Workbooks("DESTINATION.XLS")
With .Worksheets("Feuil2")
.Range("D3").PasteSpecial xlPasteAll
.Range("D3").PasteSpecial xlPasteColumnWidths

.Paste Destination:=.Range("D3").Resize(Rg.Rows.Count, _
Rg.Columns.Count)
.Paste link:=True
End With
End With

Application.CutCopyMode = False
Application.ScreenUpdating = True
Application.EnableEvents = True

End Sub
'----------------------------------------------------


MichD
---------------------------------------------------------------
michel.legeria
Le #25720232
Le lundi 14 octobre 2013 12:19:28 UTC+2, MichD a écrit :
Le classeur Source.xls et Destination.xls doit être ouvert.



Je ne suis pas sûr de comprendre ce que tu entends par "Indexer"

dans ta question.



Si tu veux simplement faire une simple copie : (une seule ligne)

Workbooks("SOURCE.xls").Worksheets("Feuil1").Range("A1:D20").copy

Workbooks("DESTINATION.XLS").Worksheets("Feuil2").Range("D3")





'----------------------------------------------------

Sub test()

'Suppose que tu veux copier la plage A1:D20

'de la feuil1 du classeur où tu as copié la macro

'vers le classeur "Destination", feuil2, cellule D3

Dim Rg As Range

Application.ScreenUpdating = False

Application.EnableEvents = False



With Workbooks("SOURCE.xls").Worksheets("Feuil1")

Set Rg = .Range("A1:D20")

Rg.Copy

End With

With Workbooks("DESTINATION.XLS")

With .Worksheets("Feuil2")

.Range("D3").PasteSpecial xlPasteAll

.Range("D3").PasteSpecial xlPasteColumnWidths



.Paste Destination:=.Range("D3").Resize(Rg.Rows.Count, _

Rg.Columns.Count)

.Paste link:=True

End With

End With



Application.CutCopyMode = False

Application.ScreenUpdating = True

Application.EnableEvents = True



End Sub

'----------------------------------------------------





MichD

---------------------------------------------------------------



"Indexer" veut dire "adresser" pour moi. En tous cas je te remercie beaucou p, je vais essayer !
Publicité
Poster une réponse
Anonyme