Copier ligne selectionnée vers une autre feui

Fermé
elsa - 11 juin 2009 à 12:05
 ELSA - 15 juin 2009 à 16:12
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 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
11 juin 2009 à 12:30
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 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
11 juin 2009 à 12:32
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
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 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
11 juin 2009 à 12:16
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
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
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 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751 > ELSA
15 juin 2009 à 14:48
salut,
Le post 2 de cette discussion est LA bonne solution.
0
ELSA > pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024
15 juin 2009 à 15:15
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 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751 > ELSA
15 juin 2009 à 15:23
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