Copier la ligne sélectionnée dans 1 ligne vide d'une autre feuille

Copier la ligne sélectionnée dans 1 ligne vide d'une autre feuille - VB/VBA/VBS - Programmation

Marsh Posté le 16-11-2010 à 15:22:05    

Bonjour à tous,
 
Comme beaucoup de ceux qui ont eu un jour l'idée de faire des macros excel... je m'arrache les cheveux.
Je pense que ce que je cherche à faire est tout simple mais je n'y arrive pas pour l'instant donc je n'ose même pas passer aux étapes suivantes.
 
J'ai deux feuilles dans mon classeur : Feuil1, Feuil2.  
Dans la Feuil1 j'ai une base de données brute.  
Dans la Feuil2 je souhaite mettre seulement les lignes de Feuil1 que j'aurai sélectionné.
 
Mon but est de pouvoir transférer les lignes en sélectionner une ligne avec la souris dans Feuil1 et cliquez sur le bouton de ma macro pour transférer la ligne dans Feuil2, à la première ligne disponible.
 
Grâce à l'Enregistreur de Macro et un peu de bidouillage j'ai obtenu ce code qui ne me satisfait pas complètement.
 

Code :
  1. Sub testcopy()
  2.     ActiveCell.Select
  3.     Selection.Copy
  4.     Sheets("BDDsélectionnés" ).Select
  5.     ActiveSheet.Paste
  6. End Sub


 
Je pensais que Activecell récupérait tout ce qui est sélectionné mais ce n'est apparemment pas le cas, ce code ne copie que la première cellule.
Et il copie seulement sur la première ligne de ma Feuil2.
 
Comment faire en sorte de copier toute la ligne sélectionnée dans ma feuille de destination et dans la première ligne vide?
 
Merci d'avance de me donner qq pistes pour que je comprenne comment faire cette macro par moi-même. Je suis conscient du potentiel du langage Visual Basic mais son apprentissage me semble de plus en plus insurmontable.
 
A bientôt.

Reply

Marsh Posté le 16-11-2010 à 15:22:05   

Reply

Marsh Posté le 16-11-2010 à 18:03:41    

Faut faire un peu d'anglais :o
 
ActiveCell = Cellule Active
 
tu chercherai plutot a copier la rangée complete (ligne -> row en anglais)
 
 
remplace :
ActiveCell.Select
 
par :
Rows(ActiveCell.row).Select
 
ça va te selectionner la ligne complete de ta cellule en cours.
 
ensuite, trouver la première ligne vide dans la nouvelle feuille, c'est assez casse couille :o
fait donc une insertion de ligne
 
    Sheets("BDDsélectionnés" ).Select
    ActiveSheet.Rows("1:1" ).Select
    Selection.Insert Shift:=xlDown
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed