Copier coller à la fin d'un autre classeur vba

Fermé
Vdelz - Modifié le 22 déc. 2017 à 09:11
yg_be Messages postés 22703 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 - 23 déc. 2017 à 20:32
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.
A voir également:

3 réponses

patty5046 Messages postés 46 Date d'inscription lundi 8 février 2016 Statut Membre Dernière intervention 15 septembre 2023 5
22 déc. 2017 à 17:36
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
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
23 déc. 2017 à 19:59
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


0
yg_be Messages postés 22703 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
23 déc. 2017 à 20:32
attention: Feuil1 ou Feuill1?
0