Copier ligne selectionnée vers une autre feui

elsa -  
 ELSA -
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. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      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. ELSA
       
      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. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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. ELSA
       
      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. ELSA
       
      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. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773 > ELSA
       
      salut,
      Le post 2 de cette discussion est LA bonne solution.
      0
    4. ELSA > pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention  
       
      re 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. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773 > ELSA
       
      Parce 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