Bonjour liloo23 et re Pierrejean,
Même remarque. De plus il est bon de déclarer les variables.
Option Explicit
Sub Combinaisons_2()
Dim lettre As String, Ligne As Integer, Ws As Worksheet
If Range('b5') = 'x' Then
If Range('h14') <= 12 Then
lettre = 'PL7 bis'
For Ligne = 1 To [A65000].End(xlUp).Row
If UCase(Cells(Ligne, 1)) = UCase(lettre) Then
For Each Ws In Worksheets
Ws.Rows(Ligne).EntireRow.Delete
Next Ws
End If
Next Ligne
End If
If Range('h14') <= 12 Then
lettre = 'PL7'
For Ligne = 1 To [A65000].End(xlUp).Row
If UCase(Cells(Ligne, 1)) = UCase(lettre) Then
For Each Ws In Worksheets
Ws.Rows(Ligne).EntireRow.Delete
Next Ws
End If
Next Ligne
End If
If Range('h14') <= 10 Then
lettre = 'PL6 bis'
For Ligne = 1 To [A65000].End(xlUp).Row
If UCase(Cells(Ligne, 1)) = UCase(lettre) Then
For Each Ws In Worksheets
Ws.Rows(Ligne).EntireRow.Delete
Next Ws
End If
Next Ligne
End If
If Range('h14') <= 10 Then
lettre = 'PL6'
For Ligne = 1 To [A65000].End(xlUp).Row
If UCase(Cells(Ligne, 1)) = UCase(lettre) Then
For Each Ws In Worksheets
Ws.Rows(Ligne).EntireRow.Delete
Next Ws
End If
Next Ligne
End If
If Range('h14') <= 8 Then
lettre = 'PL5 bis'
For Ligne = 1 To [A65000].End(xlUp).Row
If UCase(Cells(Ligne, 1)) = UCase(lettre) Then
For Each Ws In Worksheets
Ws.Rows(Ligne).EntireRow.Delete
Next Ws
End If
Next Ligne
End If
If Range('h14') <= 8 Then
lettre = 'PL5'
For Ligne = 1 To [A65000].End(xlUp).Row
If UCase(Cells(Ligne, 1)) = UCase(lettre) Then
For Each Ws In Worksheets
Ws.Rows(Ligne).EntireRow.Delete
Next Ws
End If
Next Ligne
End If
If Range('h14') <= 6 Then
lettre = 'PL4 bis'
For Ligne = 1 To [A65000].End(xlUp).Row
If UCase(Cells(Ligne, 1)) = UCase(lettre) Then
For Each Ws In Worksheets
Ws.Rows(Ligne).EntireRow.Delete
Next Ws
End If
Next Ligne
End If
If Range('h14') <= 6 Then
lettre = 'PL4'
For Ligne = 1 To [A65000].End(xlUp).Row
If UCase(Cells(Ligne, 1)) = UCase(lettre) Then
For Each Ws In Worksheets
Ws.Rows(Ligne).EntireRow.Delete
Next Ws
End If
Next Ligne
End If
If Range('h14') <= 4 Then
lettre = 'PL3 bis'
For Ligne = 1 To [A65000].End(xlUp).Row
If UCase(Cells(Ligne, 1)) = UCase(lettre) Then
For Each Ws In Worksheets
Ws.Rows(Ligne).EntireRow.Delete
Next Ws
End If
Next Ligne
End If
If Range('h14') <= 4 Then
lettre = 'PL3'
For Ligne = 1 To [A65000].End(xlUp).Row
If UCase(Cells(Ligne, 1)) = UCase(lettre) Then
For Each Ws In Worksheets
Ws.Rows(Ligne).EntireRow.Delete
Next Ws
End If
Next Ligne
End If
If Range('h14') <= 2 Then
lettre = 'PL2 B bis'
For Ligne = 1 To [A65000].End(xlUp).Row
If UCase(Cells(Ligne, 1)) = UCase(lettre) Then
For Each Ws In Worksheets
Ws.Rows(Ligne).EntireRow.Delete
Next Ws
End If
Next Ligne
End If
If Range('h14') <= 2 Then
lettre = 'PL2 B'
For Ligne = 1 To [A65000].End(xlUp).Row
If UCase(Cells(Ligne, 1)) = UCase(lettre) Then
For Each Ws In Worksheets
Ws.Rows(Ligne).EntireRow.Delete
Next Ws
End If
Next Ligne
End If
If Range('h14') <= 2 Then
lettre = 'PL2 A bis'
For Ligne = 1 To [A65000].End(xlUp).Row
If UCase(Cells(Ligne, 1)) = UCase(lettre) Then
For Each Ws In Worksheets
Ws.Rows(Ligne).EntireRow.Delete
Next Ws
End If
Next Ligne
End If
If Range('h14') <= 2 Then
lettre = 'PL2 A'
For Ligne = 1 To [A65000].End(xlUp).Row
If UCase(Cells(Ligne, 1)) = UCase(lettre) Then
For Each Ws In Worksheets
Ws.Rows(Ligne).EntireRow.Delete
Next Ws
End If
Next Ligne
End If
If Range('h14') <= 0 Then
lettre = 'PL1 bis'
For Ligne = 1 To [A65000].End(xlUp).Row
If UCase(Cells(Ligne, 1)) = UCase(lettre) Then
For Each Ws In Worksheets
Ws.Rows(Ligne).EntireRow.Delete
Next Ws
End If
Next Ligne
End If
If Range('h14') <= 0 Then
lettre = 'PL1'
For Ligne = 1 To [A65000].End(xlUp).Row
If UCase(Cells(Ligne, 1)) = UCase(lettre) Then
For Each Ws In Worksheets
Ws.Rows(Ligne).EntireRow.Delete
Next Ws
End If
Next Ligne
End If
End If
End Sub
Cordialement
Bernard