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
A voir également:

2 réponses

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
bonjour,
Sub copier_lig()
Sheets(1).Rows(Selection.Row).Copy Sheets(2).Rows(Sheets(2).Range("A65536").End(xlUp).Row + 1)
End Sub
1
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
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
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
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
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
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
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
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768 > ELSA
 
salut,
Le post 2 de cette discussion est LA bonne solution.
0
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
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768 > 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