bonjour,
Sub test()
i = ActiveSheet.Cells(65535, 2).End(xlUp).Row
For k = i To 1 Step -1
If Not InStr(1, ActiveSheet.Cells(k, 2), "bureau", 1) > 0 Then Rows(k).Delete
Next
End Sub
Les (2) déterminent la colonne de travail :
Pour la colonne C mettre 3...
Pour commencer à la ligne 13 mettre :
For k = i To 13 Step -1
Commentaires :
Sub test()
'Détermination de la dernière ligne de la colonne B (2)
i = ActiveSheet.Cells(65535, 2).End(xlUp).Row
'La dernière ligne étant i...
'Pour chaque ligne de la dernière (i) à la ligne 13
For k = i To 13 Step -1
'Si on ne trouve pas le String dans la colonne 2 on supprime la ligne
If Not InStr(1, ActiveSheet.Cells(k, 2), "bureau", 1) > 0 Then Rows(k).Delete
Next
End Sub
L'astuce étant de remonter de la dernière ligne à la première car quand tu remontes tu t'en fout de supprimer une ligne : les lignes suivantes qui "remontent" lors de la suppression ont déjà été traitées.
On peut aussi y arriver en allant de la première ligne à la dernière ligne, mais c'est plus difficile car lors de la suppression de la ligne en cours, la ligne suivante devient la ligne à cours et du coup il faut réévaluer la ligne en cours et c'est une histoire à
A+