Suppression de lignes sous conditions

MoreJ

XLDnaute Nouveau
Bonjour,

Je me doute que cette question a souvent été posée, j'ai eu beau (mal ?) chercher sur le forum pour trouver une solution sur ce forum, je n'ai pas trouvé.
Pour info, je suis débutant.

Voici donc mon problème.

J'ai un tableau assez gros avec de nombreuses lignes et colonnes.
Dans ma colonne C, se trouve des références à des produits sur 5 chiffres.
Les deux derniers chiffres de cette référence m'indique le type de produit.

Dans le cas présent, si cette référence se termine en 08, alors je dois supprimer toute la ligne et décaler le tableau vers le haut.

J'ai essayé un code de ce genre là :
Code:
Sub EssAi()
Dim i As Long
For i = Range("A65536").End(xlUp).Row To 2 Step -1
If Cells(i, 3) Like "*08" Then Rows(i).Delete
Next i
End Sub

mais ça ne marche pas.

Est-ce que quelqu'un aurait la gentillesse de m'aider ou de m'expliquer ce qui ne va pas dans ma macro.

Merci.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Suppression de lignes sous conditions

Bonjour MoreJ et bienvenu(e), bonjour le forum,

Peut-être comme ça :
Code:
Sub EssAi()
Dim i As Long

For i = Range("A65536").End(xlUp).Row To 2 Step -1
    If CStr(Right(Cells(i, 3).Value, 2)) = "08" Then Rows(i).Delete
Next i
End Sub

[Édition]
Ton code fonctionne parfaitement chez moi...
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Suppression de lignes sous conditions

Bonjour MoreJ, bonjour le forum,

Et si tu nous envoyais ton fichier (ou un exemple allégé basé sur ton fichier), pour nous puissions avoir une idée du problème et te proposer, éventuellement, une solution ?
 

MoreJ

XLDnaute Nouveau
Re : Suppression de lignes sous conditions

Ok, merci ça marche, j'ai modifié quelque peu le code en me basant sur d'autres macros.
Voici la solution au cas où :
Code:
Sub SupprimeLigneVideAvec08()
Dim dlg As Long, i As Long
Application.ScreenUpdating = False

dlg = ActiveSheet.UsedRange.Rows.Count
 
For i = dlg To 1 Step -1

    If Cells(i, 3).Value Like ("*08") Then Rows(i).Delete
Next i
End Sub

Merci à tous pour votre aide.
 

Discussions similaires

Réponses
4
Affichages
266
Réponses
1
Affichages
146
Réponses
2
Affichages
1 K

Statistiques des forums

Discussions
312 854
Messages
2 092 825
Membres
105 539
dernier inscrit
Morgane0202