Comparer des valeurs

piep14

XLDnaute Occasionnel
Bonsoir,

J'ai deux onglets. Avec dedans des colonnes (PN | SN | GST) dans chaque onglet.

Je voudrais comparer les les valeurs du premier onglet puis du second pour en récuperer toutes les valeurs sans avoir de doublons.

Est ce possible ?

Merci
 

Cousinhub

XLDnaute Barbatruc
Re : Comparer des valeurs

Bonsoir,
je pense qu'avec un petit fichier exemple, ce serait plus facile de t'aider, ne connaissant ni le nombre de colonnes, de lignes, ce qu'il faut garder : ligne entière, cellule uniquement....
trop vague, du moins pour moi :cool:
 

Cousinhub

XLDnaute Barbatruc
Re : Comparer des valeurs

Re-,
bon, on va reprendre à zéro....:eek:
faut dire qu'avec plus de 24000 lignes dans un onglet et presque 16000 dans l'autre, il faut cibler exactement ce que tu veux....:rolleyes:
Tu as des colonnes dans chaque onglet.

onglet Listing :

COMMANDE LIGNE DEPOT EMPL PN DESIGNATION LOT QTY RESA QTY REELLE CERT Y/N CARTON N° SACHET N°

onglet Feuil1 :

COMMANDE LIGNE DEPOT EMPLCT PN DESIGNATION LOT BL RESA QTY CERT Y/N BOX

qu'appelles-tu "doublon"?
même "Commande" + même "Ligne" + même "Depot" + même "Empl" +........

ou seulement
même "PN" + même "Designation" + même "Lot" + même "BL"

ou .......
 

Cousinhub

XLDnaute Barbatruc
Re : Comparer des valeurs

Re-,
avec ce code, tu auras dans une feuille créée spécialement pour,les données sans doublons issues des 2 feuilles pré-citées :

Code:
Sub unique()
Dim DerligList As Double, DerligFeuil As Double, pl As Range
Application.ScreenUpdating = False
On Error Resume Next
Application.DisplayAlerts = False
Sheets("unique").Delete
On Error GoTo 0
Application.DisplayAlerts = True
Sheets.Add.Name = "unique"
DerligList = Sheets("Listing").[A65000].End(xlUp).Row
DerligFeuil = Sheets("Feuil1").[A65000].End(xlUp).Row + 1
Sheets("Listing").Range("A2:G" & DerligList).Copy Sheets("Feuil1").Cells(DerligFeuil, 1)
Set pl = Sheets("Feuil1").Range("A1:G" & Sheets("Feuil1").Range("A65536").End(xlUp).Row)
pl.Name = "base"
With Sheets("unique")
            j = 1
    For Each i In Array("PN", "LOT", "EMPLCT")
            .Cells(1, j) = i
        j = j + 1
    Next i
    Range("base").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range( _
        "A1:C1"), unique:=True
    Cells.EntireColumn.AutoFit
End With
With Sheets("Feuil1")
    .Range(.Cells(DerligFeuil + 1, 1), .Cells(DerligFeuil + 1, 7).End(xlDown)).Delete Shift:=xlUp
End With
Range("A1").Select
End Sub

Edit : cela prend quand même une 20taine de secondes, patience (40 000 lignes à traiter)
 
Dernière édition:

piep14

XLDnaute Occasionnel
Re : Comparer des valeurs

Ton travail est formidable mais j'aimerais quelques trucs en plus :D

En fait, si possible, ca compare comme tu l'a très bien fait mais a l'affichage, il me faudrait les autres colonnes quand même !

Sinon, c'est parfait, voire plus que parfait lol

Merci
 

Discussions similaires

Réponses
4
Affichages
318

Statistiques des forums

Discussions
312 391
Messages
2 087 940
Membres
103 679
dernier inscrit
yprivey3