Copier coller dans un classeur ouvert par boite de dialogue

benjamin -  
Polux31 Messages postés 7219 Statut Membre -
Bonsoir,
je suis vraiment un nouveau dans le domaine applications sous VBA. c'est pourquoi je viens encore vers vous pour vous poser un problème.
En effet, je charge un fichier ANN_LEG.xlsx a partir de la commande application.getopenfilename. je veux une commande qui me permet de capter le nom de ce fichier pour me servir dans une procedure.

sub hjhjhj()
Workbooks("Tampon.xlsx").Worksheets("tamp_cumul").Copy Workbooks("ANN_LEG.xlx").Worksheets("cumul").Range("BC1")
end sub


l'avantage de ce code est que l'operation de copier coller ci dessus s'effectuera dans le fichier ouvert par la commande apllication.getopenfilename.
Par exemple si je charge un fichier nommé TAMP.xlsx, Workbooks(" ANN_LEG.xlx").Worksheets("tamp_cumul").Copy Workbooks(" ANN_LEG.xlx").Worksheets("cumul").Range("BC1")
ne fonctionne pas. il faut que l'operation de copier coller s'effectue cette fois dans Workbooks(" le nom du fichier telechargé ".

Aidez moi s'il vous plait.

2 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    Le plus simple de créer un objet pour chaque classeur ouvert et de passer l'objet classeur en paramètre de la procédure qui fera le copier/coller.

    Un exemple :

    Sub OuvertureFichier()
    Dim wk As Workbook
    Dim fichier As String
    
        fichier = Application.GetOpenFilename
        
        Set wk = Workbooks.Open(fichier)
        
        Call CopyFeuille(wk)
        
    End Sub
    
    Private Sub CopyFeuille(ByRef wk As Workbook)
    
        Workbooks(" ANN_LEG.xlx").Worksheets("tamp_cumul").Copy wk.Worksheets("cumul").Range("BC1")
        
    End Sub


    ;0)
    0
  2. benjamin
     
    Ca marche à merveille!
    Nuls mots te suffit pour te dire merci!
    0
    1. Polux31 Messages postés 7219 Statut Membre 1 204
       
      De rien

      Merci de mettre le sujet en résolu.
      0