Effacer toutes les lignes d'un tableau

Philour01 Messages postés 1 Statut Membre -  
 Philour01 -
Bonjour Mike,
Dans le prolongement de cette macro résolue par tes bons soins (copier les données jusqu'à la derriere ligne), je souhaite maintenant effac?er d'un clic toutes les lignes copiées sur la feuille édit.
Ma fonction fonctionne en partie mais sur une seule ligne de tableau à effacer, empiète sur le texte qui est juste en dessous du tableau et efface du texte.

Merci pour ton aide

Dim I As Long
Dim Plage As Range
Set Plage = Range("E159:E" & Range("E160").End(xlDown).Row)
For I = Plage.Cells.Count To 1 Step -1
Plage.Cells (I).EntireRow.Delete
Next
End Sub
A voir également:

5 réponses

ccm81 Messages postés 11033 Statut Membre 2 434
 
Bonsoir

En supposant que tu connais les lignes à supprimer au moment de le faire

Public Sub tamacro()
Dim premli As Long, derli As Long
' les autres instructions de ta macro
' .....
' definition des lignes à supprimer quelque part dans ton code
premli = 4
derli = 12
' ....
' suppression des lignes de premli à derli
Rows(premli & ":" & derli).EntireRow.Delete
End Sub

Attention, les lignes sont supprimées et non effacées

bonne suite
0
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Salut le fil,

Philour, il n'est pas nécessaire d'ouvrir une nouvelle discussion qui ne te conduira à rien, et ce par méconnaissance des codes précédents et tu devrais répondre à mon post de cette la discussion

Je me répète si c'est pour effacer les lignes précédemment copiées, à la place de les copier il suffit de les couper et donc dans le code remplacer Copy par Cut et le tour est joué.
Mais va t'on savoir sans réponse ?
0
Philour01
 
Mike,

Je n'avais pas vu ta réponse sur la discussion précédente et le post étant classe résolu et ne connaissant pas la pratique, j'ai posé cette nouvelle question.
Merci pour la réponse.

En cherchant j'ai bidouillé le code suivant qui fonctionne et semble permettre donc d'effacer toutes les lignes d'un tableau sans empiéter sur du texte positionné après et avant le tableau. Si cela peut servir...

Sheets("Edit").Select. ' sélection de ma feuille
Dim DernierLigne As Long
For I =1 To 54. ' 54 étant dernière ligne possible de mon tableau
Range("E159).Select. ' la première ligne du tableau E 159
DernierLigne = Sélection.End(xldown).Row ' recherche la dernière ligne du tableau
If ActiveCell.Value <> 0 Then Sélection.EntireRow.Delete
Next I
End Sub
0
Philour01
 
Merci à ccm81 pour sa réponse.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Philour01
 
Effectivement Mike, je n'avais pas pensé à cette solution efficace de remplacer copy par cut bien adaptée à mon code.

Encore merci !
0