Pb sur macro Range/Copy

Bonjour à toutes et à tous,

J'ai crée un bon de commande automatisé et je souhaiterais que certains éléments se déversent dans un autre classeur via un bouton de commande.

Par exemple, je souhaiterais que les cellules J22, B12 et A9 se déversent dans les cellules A2, B2 et C2 d'un autre classeur appelé "DEP"..

Et pour le bon de commande suivant, les cellules J22, B12 et A9 se déversent dans les cellules A2, B2 et C2 du classeur DEP.

je vous mets ci-dessous le code que j'ai fait. Je vous montre qu'avec la copie d'une cellule pour éviter les redondances.

Sub Envoi_DEP()
   Dim WSDest As Worksheet
   Dim WBDest As Workbook
   Dim WSSource As Worksheet

   Set WSSource = ThisWorkbook.Sheets("BCF")

   Workbooks.Open ("C:\mes_documents\test_bdd_communes\DEP_test.xlsx")

   Set WBDest = ActiveWorkbook
   Set WSDest = WBDest.Sheets("bdd")

   WSSource.Range("J22").Copy
   WSDest.Range("A2").Range("A100000").End(xlUp)(2).Selection.PasteSpecial Paste:=xlPasteValues
 Application.DisplayAlerts = False
   WBDest.Save
   WBDest.Close
End Sub

Au plaisir de vous lire,

Bonne journée !

Bonjour,

C'est pas trop clair ton histoire !

Essaie :

Sub Envoi_DEP()
   Dim WSDest As Worksheet
   Dim WBDest As Workbook
   Dim WSSource As Worksheet
   Dim iR&
   Set WSSource = ThisWorkbook.Sheets("BCF")
   Workbooks.Open ("C:\mes_documents\test_bdd_communes\DEP_test.xlsx")
   Set WBDest = ActiveWorkbook
   Set WSDest = WBDest.Sheets("bdd")
   iR = WSDest.Cells(Rows.Count, 1).End(xlUp)(2).Row
    WSSource.Range("J22").Copy
        WSDest.Cells(iR, 1).PasteSpecial Paste:=xlPasteValues
    WSSource.Range("B12").Copy
        WSDest.Cells(iR, 2).PasteSpecial Paste:=xlPasteValues
    WSSource.Range("A9").Copy
        WSDest.Cells(iR, 3).PasteSpecial Paste:=xlPasteValues
    Application.DisplayAlerts = False
   WBDest.Save
   WBDest.Close
End Sub

Si pas ça reformuler reformuler la question...

A+

Ah bin pourtant tu as parfaitement résolu mon problème !!

Bien joué, merci beaucoup

Rechercher des sujets similaires à "macro range copy"