2 pièce(s) jointe(s)
Problème dans ma fonction delete
Bonjour à tous,
Voila mon petit problème du jour.
Je copie "feuill1" 7 fois pour ensuite supprimer des lignes selon certains critères.
Quand je lance mon code pour supprimer certaines ligne, ce dernier fonctionne bien sauf dans deux cas:
- celui ou les colonnes L à P sont vides
- celui dans le cas ou seulement L et M sont vides.
Dans ces deux cas, avec un code pourtant différent, je me retrouve avec des valeurs identiques et d'autres présente dans uniquement une des deux page.
Voici le code que j'utilise pour le dernier cas, l'autre est identique sauf que toute les valeurs doivent être différentes de "":
Code:
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| Sub Immo_8()
Application.ScreenUpdating = False
Dim i As Integer
With ThisWorkbook.Sheets("Feuil9")
'Précisez le nom de votre feuille
For i = .Range("L" & .Rows.count).End(xlUp).Row To 2 Step -1
'je travaille sur la colonne c
'Rows.count permet de retourner le nombre de ligne de la plage range
If .Range("L" & i).Value <> "" Then
.Rows(i).delete
End If
Next i
End With
With ThisWorkbook.Sheets("Feuil9")
'Précisez le nom de votre feuille
For i = .Range("M" & .Rows.count).End(xlUp).Row To 2 Step -1
'je travaille sur la colonne c
'Rows.count permet de retourner le nombre de ligne de la plage range
If .Range("M" & i).Value <> "" Then
.Rows(i).delete
End If
Next i
End With
With ThisWorkbook.Sheets("Feuil9")
'Précisez le nom de votre feuille
For i = .Range("N" & .Rows.count).End(xlUp).Row To 2 Step -1
'je travaille sur la colonne c
'Rows.count permet de retourner le nombre de ligne de la plage range
If .Range("N" & i).Value = "" Then
.Rows(i).delete
End If
Next i
End With
With ThisWorkbook.Sheets("Feuil9")
'Précisez le nom de votre feuille
For i = .Range("O" & .Rows.count).End(xlUp).Row To 2 Step -1
'je travaille sur la colonne c
'Rows.count permet de retourner le nombre de ligne de la plage range
If .Range("O" & i).Value = "" Then
.Rows(i).delete
End If
Next i
End With
With ThisWorkbook.Sheets("Feuil9")
'Précisez le nom de votre feuille
For i = .Range("P" & .Rows.count).End(xlUp).Row To 2 Step -1
'je travaille sur la colonne c
'Rows.count permet de retourner le nombre de ligne de la plage range
If .Range("P" & i).Value = "" Then
.Rows(i).delete
End If
Next i
End With
End Sub |
Je vous joins en photo une images de mes résultats.
Si vous avez besoin de plus de détail dîtes moi.
Merci par avance pour votre aide, vous êtes géniaux.
PS :J'ai vérifié que mes cellules étaient bien vides.