Copier le contenue d'une cellule dans autre classeur

Résolu/Fermé
siamens_duj Messages postés 192 Date d'inscription vendredi 20 juin 2014 Statut Membre Dernière intervention 14 février 2019 - 25 janv. 2016 à 12:38
siamens_duj Messages postés 192 Date d'inscription vendredi 20 juin 2014 Statut Membre Dernière intervention 14 février 2019 - 25 janv. 2016 à 16:18
Bonjour,
J'ai un petit soucis.
J'essaie de faire un code qui copie les valeurs des cellules de Q1 jusqu'à la cellule Q vide qui se trouve dans la feuil1 du classeur TG.xlsm et les colle dans la feuilz du classeur Doc.xlsm à partir de Y2.
J'aimerais copier uniquement les valeurs et pas les formules.

Sub copie ()

Dim I As Integer
Dim NomFichier As String
Dim j As Integer

NomFichier = "TG.xlsm"
J = 1
I = 1

Application.ScreenUpdating = False

Workbooks.open ("D:\users\moi\Desktop\doc\" & NomFichier )

Do While Range("Q1:Q" & j).value <> ""

Application.WindowState = xlMinimized
Range ("Q1:Q" & j).select
Sélection.copy
Active Windows. ScrollColumn = I
AvtiveWindow.Close
Range ("Y2:Y" & i).select
ActiveSheet.Paste
Loop
Next I
Next j
End sub


Seulement la premiere valeur se copie et un message me dit que la taille et la forme des données du presse papier ne correspondent pas à la zone sélectionné.

Quelqu'un pourrait m'aider svp.
Merci

1 réponse

beber67470 Messages postés 4886 Date d'inscription mercredi 22 octobre 2014 Statut Membre Dernière intervention 6 octobre 2017 798
25 janv. 2016 à 13:07
Bonjour

Si vous ne voulez pas avec liaison, mais vraiment copier purement la valeur, il suffit de faire un copier simple (ctrl+c) et faire "collage spécial" (Menu Edition > Collage Spécial) et choisir Coller > Valeurs
0
siamens_duj Messages postés 192 Date d'inscription vendredi 20 juin 2014 Statut Membre Dernière intervention 14 février 2019 7
25 janv. 2016 à 16:18
Bonjour et merci pour votre reponse.
Votre proposition est intéressante cependant ce n'est exactement ce que je voulais faire.
Je voulais en fait "automatiser" afin que si une valeur change, ou est ajouté, cela se fait dans les deux fichiers. Mais merci beaucoup.
J' ai trouvé la réponse qui en fait est évidente.

Workbooks (NomDuFichier).Sheets(nomdelafeuille).cells (I, j).value = workbooks(TG).sheets (feuil1).cells (I, j).value

Mais merci pour votre temps :)
-1