Copier une feuille d'un classeur dans un autre classeur

bonjour à tous,

J'ai fait une macro vba qui lorsqu'on clique sur le bouton dans la feuille "Paramétrage" du classeur "Mails" ci-joint, cela ouvre notre fenêtre des documents, je choisis donc mon classeur "Tableaux" et là je veux copier ma feuille "Note (2)" de "Tableaux" dans la feuille "Note (2)" de "Mails" sauf que il ne veux pas me le faire fonctionner si j'automatise mon workbook en disant que c'est le fichier ouvert.

Alors que si dans mon code :

Sub copier()

  Dim wbMyWb As Workbook
  Dim Nom_Fichier As Variant

  Nom_Fichier = Application.GetOpenFilename("Fichiers Excel (*.xlsm), *.xlsm")
  If Nom_Fichier <> False Then
     Set wbMyWb = Workbooks.Open(Nom_Fichier)
    wbMyWb.Activate
  End If

    Workbooks(wbMyWb).Worksheets("Note (2)").Cells.Copy _
    Workbooks("Mails.xlsm").Worksheets("Note (2)").Range("A1")

End Sub

je remplace cette ligne :

    Workbooks(wbMyWb).Worksheets("Note (2)").Cells.Copy _

par ça :

    Workbooks("Tableaux.xlsm").Worksheets("Note (2)").Cells.Copy _

Cela fonctionne mais j'aimerais qu'il prend en compte le fichier que j'ouvre et pas en mettant le nom du fichier.

Merci de votre aide !!

11tableaux.xlsm (66.89 Ko)
15mails.xlsm (23.79 Ko)

J'ai résolu mon problème, merci !

Bonjour, attention aussi au end if qui semble mal placé. Vous ne faites pas la copie si nomfichier =False

donc les lignes copier sont avant le end if

Sub copier()

  Dim wbMyWb As String
  Dim Nom_Fichier As Variant

  Nom_Fichier = Application.GetOpenFilename
  If Nom_Fichier <> False Then
  Workbooks.Open(Nom_Fichier)
   wbMyWb=activeworkbook.name
   Workbooks(wbMyWb).Worksheets("Note (2)").Cells.Copy _
   Workbooks("Mails.xlsm").Worksheets("Note (2)").Range("A1")
  End If
End Sub
Rechercher des sujets similaires à "copier feuille classeur"