Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

copie colle de ligne

J

juju

Guest
bonjour,
sur la feuil1, j'ai un tableau de données dans lequel, grace a une macro, je selectionne certaine ligne que je copie
par contre, je souhaiterai pouvoir coller ces lignes dans un autre tableau qui se situe feuil2, en les mettant bien sur a la premiere ligne disponible

merci d'avance
 

WILFRIED

XLDnaute Impliqué
Salut Juju,

Voici un petit code qui devrait te satisfaire


range('A1').select
'recherche de la dernière cellule contenant du texte avant cellule vide
activecell.end(xldown).select
'décalalge d'une ligne
activecell.offset(1,0).select
'coller
activesheet.paste
'désactivation du surbrillant dû au copier/coller
application.cutcopymode=false


Voili voilou
 

Dan

XLDnaute Barbatruc
Bonjour,

Je te suggère de suivre ce lien Lien supprimé dans lequel Thierry faisait un beau résumé sur la manière d'atteindre la première cellule vide dans un tableau.
En utilisant cette macro et en y ajoutant le code 'Paste',cela devrait te convenir.

Voilà, si pb n'hésite pas à placer un bout de code ici ou un fichier.

Bonne journée


@+ Dan
 
J

juju

Guest
ok merci,
mais est ce que je peux, depuis la feuil1, coller sur la feuil2 sans avoi a la selectionner. par exemple en faisant en sorte que la macro active automatiquement la feuil2 puis revienne sur la feuil1

merci encore
 
J

juju

Guest
voila mon code :

' supp des lignes vides du tablo
With Sheets('Feuil1').UsedRange
derLi = .Row + .Rows.Count - 1
End With
Application.ScreenUpdating = False
For r = derLi To 1 Step -1
If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
Next r

' selection des lignes
i = 1
NombreLignes = 20
While i < NombreLignes + 1
If Cells(i, 8) = 'o' Then
MesLignes = MesLignes & i & ':' & i & ','
End If
i = i + 1
Wend
MesLignes = Left(MesLignes, Len(MesLignes) - 1)

' copy des lignes selectionnées
Sheets('Feuil1').Range(MesLignes).Copy

' coller dans feuille histo
' a la derniere ligne du tablo histo de la feuil2
c la que ca peche, help

Range('A1').Select
'recherche de la dernière cellule contenant du texte avant cellule vide
ActiveCell.End(xlDown).Select
'décalalge d'une ligne
ActiveCell.Offset(1, 0).Select
'coller
ActiveSheet.Paste
'désactivation du surbrillant d&ucirc; au copier/coller
Application.CutCopyMode = False

' supprimer dans tableau les entrée histo
For lin = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Row To 1 Step -1
If Cells(lin, 8) = 'o' Then Rows(lin).Delete Shift:=xlUp
Next lin

je suis pas super doué, mais merci pour toute l'aide que vous pouvez m'apporter
 

Dan

XLDnaute Barbatruc
Re,

Bon je suis pas grand spécialiste en VBA mais de ce que je peux voir essaie de remplacer :

Range('A1').Select
'recherche de la dernière cellule contenant du texte avant cellule vide
ActiveCell.End(xlDown).Select
'décalalge d'une ligne
ActiveCell.Offset(1, 0).Select
'coller
ActiveSheet.Paste

Par

With Worksheets('Histo')
.Activate
.Range('A65536').End(xlUp)(2).Select
.Range(Meslignes).paste
End With

Je suppose que tu as bien déclaré ta variable Meslignes en début de ta macro. ---> Meslignes as Range

@+ Dan
 
J

juju

Guest
je suis moin grand specialiste que toi
d'apres toi comment devrais je declarer MesLignes :

MesLignes as range

faut il mettre Dim devant ?
que dois je mettre apres : Set MesLignes = ?

merci de ta patience
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…