garder les 30 dernières lignes

P

pierre

Guest
bonjour à tous
je cherche à garder les 30 dernières lignes d'une archive, cette macro fonctionne trés bien sous excel 2003 mais bloque sous excel 97.
le bloquage ce situ à la ligne:
--> Rows(L).Delete
voici le code de la macro:

Sub Macro_Detect()
Dim I As Integer
Dim L As Variant
I = Range('A65536').End(xlUp).Row
If I < 40 Then
MsgBox ('Il n'y a pas + de 40 lignes')
Else:
For L = I - 40 To 3 Step -1
Rows(L).Delete
Next L
End If
End Sub


merci pour votre aide
 

CBernardT

XLDnaute Barbatruc
Bonjour Pierre et le forum,


Essayes sans garantie ce code, il a été fait sur Excel 2000.

Sub Macro_Detect()
Dim Lig As Integer, i As Integer
Lig = Range('A65536').End(xlUp).Row
If Lig <= 30 Then
MsgBox 'Il n'y a pas + de 30 lignes'
Else
For i = Lig To 31 Step -1
Range('A' & i).EntireRow.Delete
Next i
End If
End Sub

Cordialement

Bernard

Message édité par: CBernardT, à: 16/02/2006 07:55
 

pierrejean

XLDnaute Barbatruc
personnellement j'ai excel 2000
des tests ne seraient donc pas significatifs
ce que je tenterais

For L = I - 40 To 3 Step -1
Rows(3).Delete
Next L

En effet lorsque l'on supprime une ligne il s'opere un decalage et s'il s'agit de la 3 la 4 devient la 3 etc...
donc pourvu que le nombre de lignes à supprimer soit correct
 

Jacques87

XLDnaute Accro
Bonjour Pierre

essaie ceci :

Private Sub CommandButton1_Click()
Dim I As Integer
Dim L As Variant
I = Range('A65536').End(xlUp).Row
If I < 40 Then
MsgBox ('Il n'y a pas + de 40 lignes')
Else:
For L = I - 40 To 3 Step -1
Rows(L).Select
Worksheets('Feuil1').Rows(L).Delete
Next L
End If
End Sub

Bonne journée
 

Discussions similaires

Statistiques des forums

Discussions
312 474
Messages
2 088 719
Membres
103 934
dernier inscrit
AMRISS