Comparaison feuilles Excel

Bonjour,

Je souhaiterais comparer deux feuilles excel

exemple : FEUILLE 1

CODCLIENT ADRESSE_1 ADRESSE_2 ADRESSE_3

0984731 S200000 M DUPONT

0984806 S200001

0540817 S200002 MME DUPONT

ou la colonne A est un code

je voudrais avoir tous les codes de la feuille 2 non present dans la feuille 1 SVP

pourriez vous m'aidez

Merci

Bonjour et bienvenue sur le forum johan72,

Peux-tu joindre un bout de ton fichier ? Et où souhaites-tu avoir les résultats. Sur une nouvelle feuille ?

j'ai une feuille avec en colonne A un code

et une autre feuille avec en colonne A le meme type de code

je voudrais dans une nouvelle feuille ou sur une meme feuille pouvoir comparerer la differenre entre ma feuille 2 et ma feuille 1

Merci

johan72 a écrit :

j'ai une feuille avec en colonne A un code

et une autre feuille avec en colonne A le meme type de code

J'avais bien compris !

Je voulais juste ton fichier pour avoir la structure réelle de ton fichier.

Comme je n'ai pas de fichier, essaie avec ce code :

Sub difference()
Dim cel As Range, c As Range
Dim derlign1 As Long, derlign2 As Long

    derlign1 = Sheets(1).[A65536].End(xlUp).Row
    derlign2 = Sheets(2).[A65536].End(xlUp).Row
    For Each cel In Sheets(2).Range("A1:A" & derlign2)
        Set c = Sheets(1).Range("A1:A" & derlign1).Find(cel, LookIn:=xlValues, lookat:=xlWhole)
        If c Is Nothing Then Sheets(3).Range("A" & Sheets(3).[A65536].End(xlUp).Row + 1).Value = cel
    Next cel

End Sub

je joint le fichier type que je souhaiterais si possible

Mise en situtation :

dans un classeur excel,

j'ai une feuille de X adresses dans ma feuille 1 avec un code client en colonne F

j'ai une feuille de y adresses dans ma feuille 2 avec un code client en colonne F

je souhaiterais que les adresses de ma feuille 1 sois retirée de ma feuille 2

en gardant si possible tous les champs (les deux feuilles ont la meme entete)

j'espere avoir ete clair.

Merci de votre aide

Là c'est beaucoup plus clair

Essaie avec le code suivant :

Sub supprimer()
Dim Sht2 As Worksheet
Dim derlign1 As Long, derlign2 As Long, i As Long
Dim c As Range

    Application.ScreenUpdating = False
    Set Sht2 = Sheets(2)
    Sht2.Copy after:=Sht2

    derlign1 = Sheets(1).[f65536].End(xlUp).Row
    derlign2 = Sht2.[f65536].End(xlUp).Row
    i = 3
    Do While Cells(i, 6) <> ""
        Set c = Sheets(1).Range("f3:f" & derlign1).Find(Cells(i, 6), LookIn:=xlValues, lookat:=xlWhole)
        If Not c Is Nothing Then
            Rows(i).EntireRow.Delete
        Else
            i = i + 1
        End If
    Loop

End Sub

en feuille 1 j'ai un fichier de 55004 lignes (en tetes comprises)

et feuille 2 j'ai un fichier de 119302 lignes (en tete comprises)

et lorsque j'execute cette macro il me sort une feuille 3 de 119302 adresses

j'ai essayé de modifier ceux ci :

derlign1 = Sheets(1).[A65536].End(xlUp).Row

derlign2 = Sheets(2).[A65536].End(xlUp).Row

en remplacant 65536 par le nombre de ligne exacte mais rien n'y fait

une idée ?

Merci de m'aider c'est gentil

J'avais pas vu que tu travaillais sur excel 2007.

Réessaie avec ce code :

Sub supprimer()
Dim Sht2 As Worksheet
Dim derlign1 As Long, derlign2 As Long, i As Long
Dim c As Range

    Application.ScreenUpdating = False
    Set Sht2 = Sheets(2)
    Sht2.Copy after:=Sht2

    derlign1 = Sheets(1).[f1048576].End(xlUp).Row
    derlign2 = Sht2.[f1048576].End(xlUp).Row
    i = 3
    Do While Cells(i, 6) <> ""
        Set c = Sheets(1).Range("f3:f" & derlign1).Find(Cells(i, 6), LookIn:=xlValues, lookat:=xlWhole)
        If Not c Is Nothing Then
            Rows(i).EntireRow.Delete
        Else
            i = i + 1
        End If
    Loop

End Sub

Est-ce qu'il y a bien des codes client partout dans la colonne F ? Pas de cellule vides ?

oui j'ai des codes client partout

il se trouve que j'ai des codes client en doublon...

du coup comparer sur le code client n'est pas possible ?

je désespère

Merci

Est-ce que ça marche dans le fichier test que j'ai posté plus haut ?

A moins que je n'ai pas compris ta demande ? Arrête-moi si je me trompe.

Dans la feuille 2, on compare les codes client par rapport à ceux de la feuille 1. Si le code client existe dans la feuille1, on supprime la ligne correspondante dans la feuille 2. C'est bien ça ?

Escuse de te déranger tout le temps,

oui c'est tout a fait cela, sa fonctionne dans le fichier que tu as mis

a mon avis le problème viens des codes client du fichier

j'ai des clients possédant le même code client "SUPER"

serais t il possible de comparer sur

ADRESSE_1 ADRESSE_2 ADRESSE_3 ADRESSE_4 ADRESSE_5 ADRESSE_6

Mr dupont ..... ....

Mr BIP chez Mme...

je sais même pas si cela est possible

Merci

Y'a pas de mal ! On est sur un forum d'entraide !

Donc au lieu de comparer les codes clients, tu veux comparer les 6 adresses ??!

Rechercher des sujets similaires à "comparaison feuilles"