Pages

[XL-2000] Bascule de données d'une feuille vers une autre sujet

vendredi 31 janvier 2014




Bonjour,

En activant un bouton d'un formulaire, je souhaite réaliser un couper-coller d'une feuille vers une autre (les 2 étant dans un même classeur).

La feuille de départ se nomme "LISTE", la feuille cible "ARCHIVAGE" :

Pour cela, j'ai codé :


Code:


Private Sub b_init_Click()

  ' Archivage des lignes de colisage déjà traitées
 
  Dim LastLig As Long, NewLig As Long
  Dim sh As Worksheet
 
  Worksheets("ARCHIVAGE").Unprotect Password:="1234"
 
  Application.ScreenUpdating = False
  Application.Calculation = xlCalculationManual
 
  Set sh = Worksheets("ARCHIVAGE")
  ' Détermination de la dernière ligne disponible sur la feuille n°2 (Archive)
  NewLig = sh.Cells(sh.Rows.Count, "A").End(xlUp).Row + 1
 
  With Worksheets("LISTE")
    .AutoFilterMode = False
    LastLig = .Cells(.Rows.Count, "A").End(xlUp).Row
    .Range("A4:X" & LastLig).SpecialCells(xlCellTypeVisible).Copy
    sh.Range("A" & NewLig).PasteSpecial xlAll
    .Range("A4:A" & LastLig).EntireRow.Delete
    Application.CutCopyMode = False
    .AutoFilterMode = False
  End With
 
  Set sh = Nothing
 
  Worksheets("ARCHIVAGE").Protect Password:="1234"
 
  Application.Calculation = xlCalculationAutomatic
 
  Worksheets("LISTE").Activate
 
  MsgBox "Bascule vers en l'archivage effectuée !"
 
  'lig = Worksheets("LISTE").Range("A65536").End(xlUp).Row
  'Worksheets("LISTE").Range("A4:M" & lig).ClearContents
 
End Sub


Après l'activation du bouton, les cellules ne sont pas coupées. Elles le sont seulement lorsque je quitte le formulaire.

D'où cela peut-il provenir ?

Julien.




Aucun commentaire:

Enregistrer un commentaire