Macro coller dans la première colonne vide

Signaler
-
Messages postés
6975
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 octobre 2020
-
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

Messages postés
6975
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 octobre 2020
561
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 !
Messages postés
6975
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 octobre 2020
561
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!
Messages postés
1
Date d'inscription
jeudi 15 octobre 2020
Statut
Membre
Dernière intervention
15 octobre 2020
>
Messages postés
6975
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 octobre 2020

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
Messages postés
6975
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 octobre 2020
561 >
Messages postés
1
Date d'inscription
jeudi 15 octobre 2020
Statut
Membre
Dernière intervention
15 octobre 2020

voir la bonne casse entre:

DerniereColonneUtilisee = ("Stockage donnees")


et:

Destination:=Worksheets("stockage donnees")