Macro pegar en la primera columna vacía

Macroblem -  
cs_Le Pivert Mensajes publicados 8437 Estado Colaborador -
Hola,

Hola tengo dos hojas excel. una hoja (DONNEES) que contiene datos, una segunda hoja (Stockage donnees) para recuperar los datos de la 1ª hoja y conservar. los datos de la 1ª hoja varían en función de las muestras de ahí la utilidad de recuperar los datos cuando sea necesario.

quiero una macro para copiar en la primera hoja y pegar en la segunda hoja (hasta aquí todo va bien). El problema es que debo pegar los datos a partir de la primera columna vacía (en la fila E16) de la segunda hoja.
intenté esta macro y muchas otras pero no logro. Ayúdame por favor.

cordialement

Sub Macro1()
'
' Macro1 Macro
'
Dim emptycolumn As Long

Sheets("DONNEES").Select
Range("A53").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy Cells(16, Columns.Count).End(xlToRight).Offset(, 1)

End Sub

2 respuestas

  1. Macroblem
     
    Gracias por su respuesta.

    Todavía no consigo hacerlo; sé buscar pero no sé hacer el código que me permita pegar en la última columna.

    ¿Sería posible que me dé un ejemplo, por favor?

    ¡Gracias de antemano!
    0
    1. cs_Le Pivert Mensajes publicados 8437 Estado Colaborador 730
       
      debo pegar los datos a partir de la primera columna vacía (en la fila E16)

      hay una incoherencia, ¿es la celda E16 o la fila 16 de la primera columna vacía?

      me inclino por la segunda. Por lo tanto, esta es la macro:

      habrá que adaptar el nombre de las hojas y el rango de copia

      Option Explicit Sub test() Dim DerniereColonneUtilisee As Integer DerniereColonneUtilisee = Worksheets("Feuil2").Cells(1, Columns.Count).End(xlToLeft).Column + 1 'donde X es el número de la fila Worksheets("Feuil1").Range("A1:D20").Copy _ Destination:=Worksheets("Feuil2").Cells(16, DerniereColonneUtilisee) End Sub 


      este código estaba en los 2 enlaces!
      0
      1. Macroblem > cs_Le Pivert Mensajes publicados 8437 Estado Colaborador
         
        Muchas gracias por su respuesta.

        He copiado y pegado el código, aquel que está subrayado y en cursiva no funciona, no sé por qué.

        sabiendo que no quiero pegar solo una banda definida, uso "Range(Selection, Selection.End(xlToRight)).Select"
        y Range(Selection, Selection.End(xlDown)).Select" para tener en cuenta las variaciones de la banda. ¿Sería posible ayudarme con todo por favor? No lo consigo de verdad. encore gracias por todo.


        19.ccm2.net/qxJdZLfWYPuEYH8Wf699lOxccmw=/b1f16206e5d14184bd7564b620dd3a16/tmp/Capture.PNG |fancy]



        Sub Macro1()
        '
        ' Macro1 Macro
        Dim DerniereColonneUtilisee As Integer
        DerniereColonneUtilisee = Worksheets("Stockage donnees").Cells(1, Columns.Count).End(x1ToLeft).Column + 1 'où X es el número de la fila
        Sheets("DONNEES").Select
        Range("A53").Select
        Range(Selection, Selection.End(xlToRight)).Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.SpecialCells(xlCellTypeVisible).Select
        Selection.Copy Destination:=Worksheets("stockage donnees").Cells(16, DerniereColonneUtilisee)

        End Sub
        0
      2. cs_Le Pivert Mensajes publicados 8437 Estado Colaborador 730 > Macroblem
         
        ver la bonne casse entre:

        DerniereColonneUtilisee = ("Stockage donnees")


        et:

        Destination:=Worksheets("stockage donnees")
        0