XL 2010 copy paste delete

herve62

XLDnaute Barbatruc
Supporter XLD
Bonjour
Je dois sélectionner des lignes pour col de A à K d'une feuille pour copier TOUT ( format ....etc ) sur une autre feuille
et supprimer la ligne d'origine
Quelle serait le code pour faire au plus court et simple , là je fais du point par point : select ; copie ; delete ; coller
merci
 

job75

XLDnaute Barbatruc
Avec beaucoup de lignes disjointes il faut un tri pour regrouper et accélérer :
VB:
Sub Copier_sans_tri()
Dim t
t = Timer
With [A:A].SpecialCells(xlCellTypeConstants).EntireRow
    .Copy Feuil2.[A1]
    .Delete
End With
MsgBox Timer - t
End Sub

Sub Copier_avec_tri()
Dim t
t = Timer
With [A:A]
    .SpecialCells(xlCellTypeConstants).EntireRow.Copy Feuil2.[A1]
    .Resize(, 11).Sort .Cells(1), Header:=xlNo 'tri pour regrouper et accélérer
    .SpecialCells(xlCellTypeConstants).EntireRow.Delete
End With
MsgBox Timer - t
End Sub
Salut patricktoulon.
 

Pièces jointes

  • Copier(1).zip
    876.3 KB · Affichages: 13

herve62

XLDnaute Barbatruc
Supporter XLD
Bon jour
merci des réponses mais j'ai utilisé ça et c'est ok
VB:
.Range("A" & x & ":k" & x).Copy
Worksheets("PA soldé").Range("A" & D_sold & ":K" & D_sold).PasteSpecial (xlPasteAll)
.Range("A" & x & ":k" & x).Delete xlUp
pour le temps c'était pas important : une centaine de lignes je parlais de court en temps que code
 

Statistiques des forums

Discussions
312 329
Messages
2 087 327
Membres
103 516
dernier inscrit
René Rivoli Monin