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

Résolu/Fermé
papuchee - 25 févr. 2014 à 08:59
 papuchee - 25 févr. 2014 à 10:52
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


A voir également:

1 réponse

Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
25 févr. 2014 à 09:37
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
Super c'est ce que je cherchais :). Merci bien
0