supprimer une ligne selon condition

billou74

XLDnaute Nouveau
Bonjour,
Je souhaiterais supprimer les lignes contenant "NP" ceci peu importe dans la colonne ou "NP" est situé.
J ai bien trouvé des choses ressemblant a ce que je recherche.
Mais ma difficulté provient du fait que la colonne varie

Merci d'avance
 
Dernière édition:

Theze

XLDnaute Occasionnel
Re : supprimer une ligne selon condition

Bonsoir,

Teste ce qui suis :
Code:
Sub Supprimer()
    
    Dim LaPlage As Range
    Dim I As Long
    Dim J As Integer
    
    'défini la plage de recherche sur toutes les cellules utilisées
    'de la feuille active (fonction Plage ci-dessous)
    Set LaPlage = Plage(ActiveSheet)
    
    'parcour les lignes de la plage en partant de la dernière
    '(obligatoire si on supprime des lignes)
    For I = LaPlage.Rows.Count To 1 Step -1
        
        'parcour les cellules de la ligne en cour
        For J = 1 To LaPlage.Rows(I).Cells.Count
            
            'si "NP" se trouve dans la cellule en cour, supprime la
            'ligne et fin de boucle sur les cellules
            If InStr(LaPlage.Rows(I).Cells(J), "NP") <> 0 Then
                          
                LaPlage.Rows(I).EntireRow.Delete
                Exit For
                            
            End If
            
        Next J
        
    Next I
        
End Sub


Function Plage(Fe As Worksheet) As Range

    With Fe
    
        Set Plage = .Range(.Cells(1, 1), _
                    .Cells( _
                    .Cells.Find("*", .[A1], -4123, , _
                    1, 2).Row, _
                    .Cells.Find("*", .[A1], -4123, , _
                    2, 2).Column))
                    
    End With

End Function

Hervé.
 

Discussions similaires

Réponses
2
Affichages
461

Statistiques des forums

Discussions
312 601
Messages
2 090 149
Membres
104 411
dernier inscrit
saidokhan