Macro coller dans la première colonne vide

Fermé
Macroblem - 15 oct. 2020 à 15:27
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 15 oct. 2020 à 20:38
Bonjour,

Bonjour j'ai deux feuilles excel. une feuille (DONNEES) contenant des données, une deuxième feuille (Stockage donnees) pour récupérer les données de la 1ere feuille et conserver. les données de la 1ere feuille varient en fonction des échantillons d'où l’intérêt de récupérer les données en cas de besoin.

je veux une macro pour copier dans la première feuille et coller dans la deuxième feuille (jusque là tous va bien). Le problème c'est que je dois coller les données à partir de la première colonnes vide (sur la ligne E16) de la deuxième page.
j'ai essayé cette macro et tant d'autre mais j'y arrive pas. Aidez moi s'il vous plait.


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 réponses

Je vous remercie de votre réponse.

Je n'y arrive toujours pas; Je sais chercher mais je ne sais pas faire le code qui me permet de coller dans la dernière colonne.

Ce serait possible de me donner un exemple s'il vous ?

merci d'avance !
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
15 oct. 2020 à 17:59
je dois coller les données à partir de la première colonnes vide (sur la ligne E16)

il y a une incohérence c'est la cellule E16 ou sur la ligne 16 de la 1ère colonne vide

je penche pour la 2ème. Voici donc la macro:

il faudra adapter le nom des feuilles et la plage de copie

Option Explicit
Sub test()
Dim DerniereColonneUtilisee As Integer
DerniereColonneUtilisee = Worksheets("Feuil2").Cells(1, Columns.Count).End(xlToLeft).Column + 1 'où X est le numéro de la ligne
Worksheets("Feuil1").Range("A1:D20").Copy _
    Destination:=Worksheets("Feuil2").Cells(16, DerniereColonneUtilisee)
End Sub


ce code il était dans les 2 liens!
0
Macroblem Messages postés 1 Date d'inscription jeudi 15 octobre 2020 Statut Membre Dernière intervention 15 octobre 2020 > cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024
15 oct. 2020 à 20:14
Merci beaucoup pour votre réponse.

J'ai copié coller le code, celui qui est souligné et en italique ne fonctionnement pas, je ne sais pas pourquoi.

sachant je ne veut pas coller qu'une plage définie, j'utilise "Range(Selection, Selection.End(xlToRight)).Select"
et Range(Selection, Selection.End(xlDown)).Select" pour prendre en compte les variations de plage. Serait-il possible de m'aider avec l'ensemble s'il vous plait ? J'y parviens vraiment pas. encore merci pour tout.


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 est le numéro de la ligne
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
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729 > Macroblem Messages postés 1 Date d'inscription jeudi 15 octobre 2020 Statut Membre Dernière intervention 15 octobre 2020
15 oct. 2020 à 20:38
voir la bonne casse entre:

DerniereColonneUtilisee = ("Stockage donnees")


et:

Destination:=Worksheets("stockage donnees")
0