Supprimer ligne si valeur présente dans un autre fichier

Bonjour,

Je travaille actuellement sur des fichiers Excel et je bloque pour automatiser via une macro certaines actions. Voici mon cas :

- J'ai 2 fichiers, un premier contenant un stock de véhicules et l'autre les ventes. Si un numéro de véhicule est rentré dans mon fichier de vente, il faudrait que la ligne associée à ce même numéro disparaisse dans le fichier du stock.
- Les numéros de véhicules se trouvent en colonne B, et dans chaque fichier les véhicules commencent à la ligne 2 (car j'ai une entête de colonne).
- Mes 2 fichiers contiennent également plusieurs feuilles, et d'autres s'ajouteront chaque mois.

Je ne sais pas si ma demande est réalisable, sinon, je peux m'adapter en fusionnant les 2 fichiers si besoin (une feuille vente et une feuille stock).

Pouvez-vous m'aider sur ce point ?

En vous remerciant par avance et en vous souhaitant une bonne journée.

Bonjour,

Je me permet de remettre une note dans cette demande. J'ai trouvé via un autre sujet (https://forum.excel-pratique.com/viewtopic.php?t=123440) cette macro :

Sub Test()

    Dim PlgImmat As Range
    Dim PlgRecherche As Range
    Dim CelImmat As Range
    Dim I As Long

    'défini la plage en colonne E de la feuille "Feuil1" à partir de E2
    '(Sur ma feuille 1, j'ai plusieurs lignes d'infos sur des véhicules, avec leur plaque d'immatriculation en colonne E.)
    With Worksheets("Feuil1"): Set PlgImmat = .Range(.Cells(2, 5), .Cells(.Rows.Count, 5).End(xlUp)): End With

    'défini la plage en colonne G de la feuille "Feuil2" à partir de G2
    '(Sur ma feuille 2, j'ai des milliers de lignes d'événements liés à un véhicule, dont l'immatriculation associée est en colonne G.)
    With Worksheets("Feuil2"): Set PlgRecherche = .Range(.Cells(2, 7), .Cells(.Rows.Count, 7).End(xlUp)): End With

    'pour la suppression, commencer par le bas de la plage
    For I = PlgRecherche.Count To 1 Step -1

        'effectue la recherche exacte...
        Set CelImmat = PlgImmat.Find(PlgRecherche(I, 1).Value, , xlValues, xlWhole)

        'si pas trouvée, suppression
        If CelImmat Is Nothing Then PlgRecherche(I, 1).EntireRow.Delete

    Next I

End Sub

Dans l'idée c'est le même principe, ça peut me convenir, on a une valeur dans la feuille 1, on regarde si elle est présente dans la feuille 2 et on fait une action. Seule la finalité est à changer je pense. Ici, toutes les lignes qui n'ont pas de numéro commun sont supprimées, j'aimerais avoir l'inverse, que ça me supprime les lignes qui n'ont pas de numéro en commun.

En vous remerciant par avance de votre aide :)

Mathieu

Rechercher des sujets similaires à "supprimer ligne valeur presente fichier"