Copier coller à la fin d'un autre classeur vba

[Fermé]
Signaler
-
Messages postés
16700
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 septembre 2021
-
Bonjour,

J'essaie de faire un truc pas facile pour moi qui débute en programmation et je deviens fou: j'aimerais en cliquant sur un bouton copier certaines valeurs et les coller à la dernière ligne d'un autre classeur (déjà ouvert). Voici le code que j'ai essayé:


Dim derligne As Integer


derligne = Workbooks("Classeurtest.xlsm").Worksheets("Feuill1").Range("A" & Rows.Count).End(xlUp).Row
derligne = derligne + 1 'j'ai essayé sans " Workbooks("Classeurtest.xlsm").Worksheets("Feuill1")" mais ça rajoute à la première ligne du nouveau classeur




With ThisWorkbook.Worksheets("Formulaire") ' Mon premier classeur qui servira de source pour la copie
Set MaPlage = Range("B2")
End With

MaPlage.Copy
ActiveSheet.Paste Destination:=Workbooks("Classeurtest.xlsm").Worksheets("Feuil1").Cells(derligne) 'Copie vers le fichier de Michael, changer le nom
Application.CutCopyMode = False



Pourriez-vous m'aider svp? D'avance, merci.

3 réponses

Messages postés
43
Date d'inscription
lundi 8 février 2016
Statut
Membre
Dernière intervention
24 mai 2020
3
Bonjour


With ThisWorkbook.Worksheets("Formulaire") ' Mon premier classeur qui servira de source pour la copie
Set MaPlage = Range("B2")
End With


Je pense que tu devrais faire cela :

With ThisWorkbook.Worksheets("Formulaire") ' Mon premier classeur qui servira de source pour la copie
Set MaPlage = .Range("B2")
End With


Rajouter un point devant range.
Si cela ne va toujours pas joins un extrait de tes 2 fichiers

Bye
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 690
Bonjour,

Pour l'exemple, je préfère :
Option Explicit
Sub xxx()
Dim MaPlage As Range
Dim MaDestination As Range
  
  With Workbooks("Classeurtest.xlsm").Worksheets("Feuill1")
    Set MaDestination = .Range("A" & Rows.Count).End(xlUp).Offset(1)
  End With
  With ThisWorkbook.Worksheets("Formulaire") ' Mon premier classeur qui servira de source
    Set MaPlage = .Range("B2")
  End With
  MaPlage.Copy Destination:=MaDestination
 
End Sub


Messages postés
16700
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 septembre 2021
897
attention: Feuil1 ou Feuill1?