Effacer ligne

Bonjour,

Mon code :

Sub efface()

'Sélectionne le n° de ligne de la derniere ligne non vide de A

A = Sheets(2).Range("A" & Rows.Count).End(xlUp).Row

For i = 1 To A

'Test la cellule A à i, si pas vide

If Sheets(2).Range("A" & i) <> "" Then

Cells(A & i).EntireRow.Delete

End If

Next i

End Sub

je veux effacer toutes mes lignes avec un bouton. Le code ci dessus ne me permet que d'effacer ligne par ligne en appuyant à chaque fois sur le Btn

Comment faire pour effacer d'un coup toutes les lignes ?

Merci

Hello,

Est-ce nécessaire de supprimer la ligne ?

Pourquoi ne pas juste la nettoyer avec clearcontent ?

Bonne après midi !

Salut quattro,

avec un pseudo pareil, vaut mieux mettre le turbo!

iRow = 6
Rows("1:" & iRow).Delete  shift:=xlUp

A+

Bonjour

essayez plutot ceci :

Sub efface()
'Sélectionne le n° de ligne de la derniere ligne non vide de A
Dim A As Long, i as long
With Sheets(2)
A = .Range("A" & .Rows.Count).End(xlUp).Row
For i = A To 1 Step -1
'Test la cellule A à i, si pas vide
    If .Range("A" & i) <> "" Then .Cells(A & i).EntireRow.Delete
Next i
End Sub

Cordialement

Re-, tout le monde,

quand on n'a pas l'habitude des turbos, on se plante...

On Error Resume Next
Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
On Error GoTo 0

Mieux...

A+

Ok merci pour les réponses

J'ai donc 2 boutons : 1 pour trier, 1 pour effacer.

code pour trier :

Sub Bouton1_Cliquer()

' programme pour trier

' Macro1

'Selectionne le n° de la ligne de la dernière ligne non vide de A

derniereLigne = Sheets(1).Range("A" & Rows.Count).End(xlUp).Row

'Boucle, et place dans i

For i = 1 To derniereLigne

'Test la cellule B et i si vide

If Sheets(1).Range("H" & i) = "" Then ' cellule H vide

'Copy dans le presse papier

Sheets(1).Rows(i).Copy

derniereLigneA = Sheets(2).Range("A" & Rows.Count).End(xlUp).Row

Sheets(2).Range("A" & derniereLigneA + 1).PasteSpecial Paste:=xlValues

End If

Next i

Application.CutCopyMode = False

End Sub

Code pour effacer :

Sub efface()

'Déclaration des variables

Dim A As Long, i As Long

With Sheets(2)

'Sélectionne le n° de ligne de la derniere ligne non vide de A

A = Range("A" & Rows.Count).End(xlUp).Row

For i = A To 1 Step -1

'Test la cellule A & i, si pas vide

If Range("A" & i) <> "" Then

Cells(A & i).EntireRow.Delete

End If

Next i

End With

End Sub

les 2 fct, sauf pour effacer, il ne m'efface pas toutes les lignes d'un coup ? Il en laisse toujours 3 ou 4 ?? il faut donc que je re click sur le btn ?

Salut quattro,

déso pour les changements dans le code : je ne m'y retrouve que dans mes petites habitudes...

Pour ton souci d'effacement, tu avais oublié de placer un "." devant certains Range en utilisant WITH.

Sub Bouton1_Cliquer()
'
Dim sWk As Worksheet
Dim iRow%, iRowA%
'
Set sWk = Sheets(2)
With Sheets(1)
    iRow = .Range("A" & Rows.Count).End(xlUp).Row
    For x = 1 To iRow
        If .Range("H" & x) = "" Then ' cellule H vide
            iRowA = sWk.Range("A" & Rows.Count).End(xlUp).Row + 1
            sWk.Rows(iRowA).Value = .Rows(x).Value
        End If
    Next
End With
'
End Sub

Pas tester... A vérifier sur la bête...

 8-) 
 A+

Sub efface()
'
Dim iRow%
'
With Sheets(2)
    iRow = Range("A" & Rows.Count).End(xlUp).Row
    For x = iRow To 1 Step -1
        If Range("A" & x).Value <> "" Then .Rows(x).Delete shift:=xlUp
    Next
End With
'
End Sub

Merci cela fct bien

Rechercher des sujets similaires à "effacer ligne"