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

5 réponses

  1. 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
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  3. 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
  4. Philour01
     
    Merci à ccm81 pour sa réponse.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

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

    Encore merci !
    0