Suppression de lignes sous conditions

  • Initiateur de la discussion Initiateur de la discussion MoreJ
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

MoreJ

Guest
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.
 
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:
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 ?
 
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
891
Réponses
5
Affichages
677
Retour