Copier ligne selectionnée vers une autre feui

Bonjour,

j'aimerais créer une macro qui copie une ligne d'une feuille1 que je selectionne vers une feuille2
jeffectuerais cette macro a plusieurs reprises en selectionnant à chaque fois une autre ligne et donc il faudrait qu'a chaque fois que la nouvelle ligne selectionnée soit copiée sur la ligne suivante de la feuille2.

merci d'avance
Configuration: Windows XP Internet Explorer 7.0

2 réponses

  1. Contributeur
    bonjour,
    Sub copier_lig()
    Sheets(1).Rows(Selection.Row).Copy Sheets(2).Rows(Sheets(2).Range("A65536").End(xlUp).Row + 1)
    End Sub
    1
    1. Modérateur
      Salut michel,
      Tu as un filtre sur CCM pour me corriger? ;-)
      Si oui merci car j'en ai grand besoin.
      +100 pour ta solution que je plussoie volontiers. Simple, précise et efficace.
      @+
      0
    2. bonjour,
      merci beaucoup pour ton aide. j'ai essayé mais lorsque j'exécute la macro ca na aucun effet ca ne copie pas la ligne. bizar!! du coup je ne sais pas quoi faire !! est ce que tu pourrais m'aider. voici le code que jutilise mais ca va pas à la ligne suivante sur la feuille ou je veux coller la ligne.
      Selection.Copy

      Sheets("electricite").Select
      Range("F10").Select

      Do While ActiveCell <> ""
      ActiveCell.Offset(1, 0).Select
      Loop
      ActiveSheet.Paste

      Sheets("journal").Select

      Selection.Offset(1, 0).Select

      merci d'avance :)
      0
  2. Modérateur
    Bonjour,
    Essaie ceci :

    lig = ActiveCell.Row 'défini lig comme étant la ligne que tu as choisi en cliquant dans une cellule de cette ligne
    Rows(lig).Copy 'copie la ligne sélectionnée
    Sheets("Feuil2").Select 'sélectionne feuille 2
    ActiveSheet.Range("A1").Select 'sélectionne la 1ère cellule
    Do While ActiveCell <> "" 'tant qu'elle est "non vide" [attention à ce que il n'y ai pas de cellule vide dans la colonne A de ton tableau en feuil1]
    ActiveCell.Offset(1, 0).Select 'sélectionne la ligne suivante
    Loop 'et hop!! on recommence jusqu'à trouver la 1ère ligne vide
    ActiveSheet.Paste 'on colle dans la ligne vide
    Sheets("Feuil1").Select 'on re sélectionne la feuille 1
    Les explications sont elles claires?
    0
    1. Bonjour,
      merci beaucoup pour ta réponse. j'ai essayé mais malheureusement ca me met un message d'erreur pour la ligne:
      Rows(lig).Copy
      ( biensur j'ai adapté avec le nom de mes feuilles)
      donc du coup je ne sais pas quoi faire

      voici un code que j'essaye mais ca ne va pas à la ligne suivante sur la feuille ou je veux coller la ligne est ce que tu pourrais voir ce qui cloche .

      merci beaucoup de m'aider dans ma galère
      0
    2. excuse j'ai oublié de mettre le code
      Selection.Copy

      Sheets("electricite").Select
      Range("F10").Select

      Do While ActiveCell <> ""
      ActiveCell.Offset(1, 0).Select
      Loop
      ActiveSheet.Paste

      Sheets("journal").Select

      Selection.Offset(1, 0).Select

      merci d'avance
      0
    3. Modérateur
      @ELSAsalut,
      Le post 2 de cette discussion est LA bonne solution.
      0
    4. @pijakure bonjour,
      en fait j'ai essayé en modifiant le nom des feuilles mais llorsque j'exécute la macro, ca na aucun effet la ligne selectionnée ne se copie

      help stp merci beaucoup
      0
    5. Modérateur
      @ELSAParce qu'il ne faut pas modifier le nom des feuilles.
      Ouvre ton classeur et tape ALT+F11, sur la gauche de ton écran tu verras :
      VBA PROJECT
      - Microsoft Excel Objets
      Feuil1 (nom de ta feuille)
      Feuil2 (nom de ta feuille)
      Feuil3 (nom de ta feuille)
      modifie la macro en indiquant le n° des feuilles correspondantes et pas leur nom Sheets(1) si tu as besoin de la Feuil1 ou Sheets(3) etc...
      0