Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment comparrer 2 lignes ?

3 réponses
Avatar
Gouap
Bonjour tout le monde !

Sur une feuille Excel, j'ai 2 lignes l'une au dessous de l'autre que
j'aimerais comparer pour n'en garder qu'une seule si elle sont en tous
points identiques.
Mes lignes sont C1:C34 et D1:D34

Ma question est la suivante :

Est il possible de faire cette comparaison rapide sans passer par une boucle
du style For-To-Next qui oblige à comparer les cellules une à une ?

Merci de vos idée !
@+
Philippe

3 réponses

Avatar
JB
Bonjour,

http://boisgontierjacques.free.fr/pages_site/FiltreElabore.htm#DoublonsPlus ieursColonnes

JB
http://boisgontierjacques.free.fr

On 15 jan, 08:48, "Gouap" wrote:
Bonjour tout le monde !

Sur une feuille Excel, j'ai 2 lignes l'une au dessous de l'autre que
j'aimerais comparer pour n'en garder qu'une seule si elle sont en tous
points identiques.
Mes lignes sont C1:C34 et D1:D34

Ma question est la suivante :

Est il possible de faire cette comparaison rapide sans passer par une bou cle
du style For-To-Next qui oblige à comparer les cellules une à une ?

Merci de vos idée !
@+
Philippe


Avatar
Caetera
"Gouap" a écrit dans le message de news:

Sur une feuille Excel, j'ai 2 lignes l'une au dessous de l'autre que
j'aimerais comparer pour n'en garder qu'une seule si elle sont en tous points
identiques.
Mes lignes sont C1:C34 et D1:D34
Est il possible de faire cette comparaison rapide sans passer par une boucle
du style For-To-Next qui oblige à comparer les cellules une à une ?



***************

Il va bien falloir une boucle pour supprimer tout à tour...

'Effacer en D1:D34 les valeurs présentes en C1:C34

For Each c In [C1:C34]
If Not IsError(Application.Match(c, [D1:D34], 0)) Then c.Offset(0, 1) = ""
Next

Etc
Avatar
Gouap
Merci JB et Caetera pour vos propositions.

J'ai retenue celle présent dans le lien donné par JB.
Ce qui donne en l'adaptant à mon problème le code suivant :

Private Sub Supprimer_Doublons()
[A1].Sort _
Key1:=[A2], Order1:=xlAscending, _
Key2:=[B2], Order2:=xlAscending, _
Header:=xlGuess

[AD:AD].Insert Shift:=xlToRight
[AD2].Formula =
"=and(A1¢,B1²,C1Â,D1Ò,E1â,F1ò,G1=G2,H1=H2,I1=I2,J1=J2,K1=K2,L1=L2,M1=M2,N1=N2,O1=O2,P1=P2,Q1=Q2,R1=R2,S1=S2,T1=T2,U1=U2,V1=V2,W1=W2,X1=X2,Y1=Y2,Z1=Z2,AA1ª2,AB1«2)"
[A1:AB65535].AdvancedFilter Action:=xlFilterInPlace,
CriteriaRange:=[AD1:AD2]

Range("_FilterDataBase").Offset(1, 0).Resize(Range("_FilterDataBase"). _
Rows.Count - 1).SpecialCells(xlCellTypeVisible).Delete Shift:=xlUp

ActiveSheet.ShowAllData
[AD:AD].Delete Shift:=xlToLeft
End Sub

Encore merci !
@+
Philippe

"Gouap" a écrit dans le message de news:

Bonjour tout le monde !

Sur une feuille Excel, j'ai 2 lignes l'une au dessous de l'autre que
j'aimerais comparer pour n'en garder qu'une seule si elle sont en tous
points identiques.
Mes lignes sont C1:C34 et D1:D34

Ma question est la suivante :

Est il possible de faire cette comparaison rapide sans passer par une
boucle du style For-To-Next qui oblige à comparer les cellules une à une ?

Merci de vos idée !
@+
Philippe