Bonjour à vous!

Je vous explique ce que je désire faire:

1. Couper les lignes de la feuil1 pour lesquelles il y a la valeur "1" dans la colonne D et les copier dans la feuil2.
2. Protéger la feuil2 avec un mot de passe pour éviter toutes modifications.
3. Supprimer les lignes vides de la feuil1 (pour l'instant j'ai fait une formule pour mettre une donné dans la colonne F si la ligne n'est pas vide).

Mon problème: Je n'arrive pas à faire supprimer toutes les lignes vides dans la feuil1. Ça fait déja quelques années que je n'ai pas joué dans VBA... pourriez-vous SVP m'aider?

Merci à l'avance!!


Voici mon code:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Sub Copierlignes()
 
  Dim Lig     As Long
  Dim Col     As String
  Dim NbrLig  As Long
  Dim NumLig  As Long
  Dim Rw As Range
 
  Sheets("Feuil2").Activate ' feuille de destination
  ActiveSheet.Unprotect ("motdepasse")
  Col = "D"                 ' colonne de la donnée non vide à tester
  NumLig = 0
  With Sheets("Feuil1")     ' feuille source
  NbrLig = .Cells(65536, Col).End(xlUp).Row
  For Lig = 1 To NbrLig
    If .Cells(Lig, Col).Value = "1" Then
      .Cells(Lig, Col).EntireRow.Cut
      NumLig = NumLig + 1
      Cells(NumLig, 1).Select
      Rows(ActiveSheet.UsedRange.Rows.Count + 1).Select
      ActiveSheet.Paste
    End If
  Next
  End With
      ActiveSheet.Protect "motdepasse", DrawingObjects:=True, Contents:=True, Scenarios:=True
    Sheets("Feuil1").Activate
    Range("A1:Z65536").Select
        For Each Rw In Selection.Rows
            If Rw.Cells(1, 6).Value = "" Then       ' S'il n'y a pas de valeur dans la colonne F
               Rw.EntireRow.Delete
            End If
        Next Rw
End Sub