Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Suppression ligne selon un critère dans une colonne

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 !

Niko Las

XLDnaute Nouveau
Bonjour à tous,

Je sollicite votre aide pour une modification de macro, je ne les maitrise quasiment pas.

Voici le besoin :

Supprimer une ligne lorsque dans la colonne H il y a "x" ou "X".

J'ai adapté un modèle, qui semble fonctionner, mais je voudrais supprimer la référence à une feuille Excel au début de la macro, afin de pouvoir utiliser le bouton dans plusieurs feuilles sans dupliquer la macro.

Sub supp()
Dim i&, c

With Sheets("Acheteur A - Stock")
'si filtrage, on affiche toutes les lignes sinon le End(xlUp) risque d'être faux
If .FilterMode Then .ShowAllData
'dernière cellule non vide sur la colonne a
derlig = .Cells(Rows.Count, "a").End(xlUp).Row
'supprime la ligne si valeur colonne H contient X OU x
'en partant du bas
For i = derlig To 4 Step -1
c = Cells(i, "h")
If c Like "X" Or c Like "x" Then .Rows(i).Delete
Next i
End With
End Sub

Merci d'avance !
 
Solution
Bonjour Niko,
Il suffit de faire référence à la feuille active :
Code:
Sub supp()
Dim i&, c
With ActiveSheet
    'si filtrage, on affiche toutes les lignes sinon le End(xlUp) risque d'être faux
    If .FilterMode Then .ShowAllData
    'dernière cellule non vide sur la colonne a
    derlig = .Cells(Rows.Count, "a").End(xlUp).Row
    'supprime la ligne si valeur colonne H contient X OU x
    'en partant du bas
    For i = derlig To 4 Step -1
        c = Cells(i, "h")
        If c Like "X" Or c Like "x" Then .Rows(i).Delete
    Next i
End With
End Sub
Bonjour Niko,
Il suffit de faire référence à la feuille active :
Code:
Sub supp()
Dim i&, c
With ActiveSheet
    'si filtrage, on affiche toutes les lignes sinon le End(xlUp) risque d'être faux
    If .FilterMode Then .ShowAllData
    'dernière cellule non vide sur la colonne a
    derlig = .Cells(Rows.Count, "a").End(xlUp).Row
    'supprime la ligne si valeur colonne H contient X OU x
    'en partant du bas
    For i = derlig To 4 Step -1
        c = Cells(i, "h")
        If c Like "X" Or c Like "x" Then .Rows(i).Delete
    Next i
End With
End Sub
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
252
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…