Supprimer valeur si n'existe pas dans autre liste

Bonjour

Dans le classeur joint je cherche à supprimer chaque cellules (pas les lignes) de la feuille 1 colonne C à partir de C5 jusqu'à dernière cellule non vide dans le cas seulement où la même valeur n'existe pas dans la colonne A de la feuille 2

D'autre part, impossible de faire un clic droit sur un onglet dans aucun de mes classeurs depuis hier visiblement

Merci d'avance

29classeur1.xlsm (14.67 Ko)

Bonjour,

Essaie ce code

Sub Suppression_Cellules()
Dim WsS As Worksheet, WsC As Worksheet
Dim LigneC As Long
Dim PlageS As Range
    Set WsS = Worksheets("Feuil2")
    Set WsC = Worksheets("Feuil1")
    Set PlageS = WsS.Range("A2", WsS.Range("A" & Rows.Count).End(xlUp))
    For LigneC = WsC.Range("C" & Rows.Count).End(xlUp).Row To 5 Step -1
        If Application.CountIf(PlageS, WsC.Range("C" & LigneC)) = 0 Then
            WsC.Range("C" & LigneC).Delete xlShiftUp
        End If
    Next LigneC
End Sub

A+

Merci frangy, ça a l'air de fonctionner parfaitement

Bonne journée

Bonjour à tous

Une autre approche.

Bye !

40classeur1-v1.xlsm (28.96 Ko)

Merci gmd de t'être penché sur mon problème

Mais j'ai l'impression que ton classeur fais l'inverse de ce que j'avais demandé : il supprime les valeurs qu'il trouve dans la feuille 2 au lieu de supprimer celles qu'il ne trouve pas ...

Tu as raison : encore une étourderie de ma part.

Nouvelle version :

48classeur1-v2.xlsm (28.85 Ko)

Ce coup-ci c'est parfait

Merci à vous deux, 2 solutions à ma disposition

Merci

Rechercher des sujets similaires à "supprimer valeur existe pas liste"