Macro / comparaison cellule à plage avec critère supplémentaire

Résolu
papuchee -  
 papuchee -
Bonjour,

J'ai récupéré cette macro sur le forum qui a été écrite par F89****, et je souhaiterai l'adapter à mon cas sans trop savoir comment m'y prendre.

Je voudrais tester toutes mes cellules B de la feuille IP_CF, en les comparant à la plage Col_2 si la valeur en B n'est pas comprise dans la plage la supprimer. Cependant je souhaite la supprimer seulement si elle commence par V53...

Sub Compare_SN()
Dim i As Integer
Dim col_2 As Range

'Definition plage de cellules en memoire pour vitesse execution
Set col_2 = Worksheets("Feuil2").Range("A2:A1217")

With ThisWorkbook.Sheets("IP_CF")
For i = 15000 To 2 Step -1
'Test si valeur cellule IP_CF!=Bx est dans Plage col_2(feuil2!A2:A1217))
If Application.CountIf(col_2, .Range("B" & i).Value) = 0 Then
'Delete ligne i IP_CF
.Rows(i).Delete
End If
Next i
End With

End Sub


Si quelqu'un peut m'aider, je lui en serai très reconnaissant

1 réponse

  1. Zoul67 Messages postés 2001 Statut Membre 149
     
    Bonjour,

    Peut-être :

    Sub Compare_SN()
      Dim i As Integer
      Dim col_2 As Range
      
      'Definition plage de cellules en memoire pour vitesse execution
      Set col_2 = Worksheets("Feuil2").Range("A2:A1217")
      
      With ThisWorkbook.Sheets("IP_CF")
        For i = 15000 To 2 Step -1
          'Test si valeur cellule IP_CF!=Bx est dans Plage col_2(feuil2!A2:A1217))
          If Left(.Range("B" & i).Value,3)="V53" Then
          If Application.CountIf(col_2, .Range("B" & i).Value) = 0 Then
            'Delete ligne i IP_CF
            .Rows(i).Delete
          End If
          End If
        Next i
      End With
    
    End Sub
    
    


    A+
    0
    1. papuchee
       
      Super c'est ce que je cherchais :). Merci bien
      0