Exclusion nombres identiques [Résolu/Fermé]

Signaler
-
 superpoulet -
Bonjour à tous,

Imaginons une suite de même nombres réparti sur 2 colonnes A et B sauf que sur la colonne B il y ait 2 nombres de +

Je voudrais exclure tous les mêmes nombres A & B et me sortir juste les 2 supplémentaires 00 et 11 en l'occurrence sur l'exemple ci dessous.

Exemple :

A B

22 99
33 88
44 77
55 66
66 55
77 44
88 33
99 22
11
00

Merci pour vos réponses

3 réponses

Messages postés
9579
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
16 octobre 2020
1 925
bonsoir

- sans macro, on construit une plage identique a la plage Ax:By en Cx:Dy
C1=SI(NB.SI($A$1:$B$12;A1)=1;A1;"") à tirer dans toute la plage
pour copier les "uniques" de AxBy dans CxDy

- avec une macro a placer dans un module (alt-F11 pour accéder à l'éditeur) pour un affichage des "uniques" en colonne E (ici)

Option Explicit   
Option Base 1   

Const lideb = 1   
Const co1 = "A"   
Const co2 = "B"   
Const cores = "E"   

Public Sub extraction()   
Dim lifinA As Long, lifinB As Long, li As Long, lili As Long, liD As Long   
Dim n As Long   
Dim T   
Dim trouve As Boolean   
  lifinA = Range(co1 & 65536).End(xlUp).Row   
  lifinB = Range(co2 & 65536).End(xlUp).Row   
  liD = 0   
  n = lifinA + lifinB - 2 * lideb + 2   
  ReDim T(1 To n)   
  For li = lideb To lifinA   
    T(li) = Range(co1 & lideb + li - 1)   
  Next li   
  For li = lideb To lifinB   
    T(li + lideb + lifinA - 1) = Range(co2 & lideb + li - 1)   
  Next li   
  For li = 1 To n   
    trouve = False   
    lili = 0   
    Do   
      lili = lili + 1   
      If li <> lili And T(lili) = T(li) Then: trouve = True   
    Loop Until lili = n Or trouve   
    If Not trouve Then   
      liD = liD + 1   
      Range(cores & liD).Value = T(li)   
    End If   
  Next li   
End Sub

RQ. le code suppose qu'en colonnes A et B ne figurent que la liste à traiter
- il y a certainement d'autres solutions
bonne suite
Messages postés
16250
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
19 octobre 2020
3 051
Bonjour

par formule matricielle sans cellules intermédiaires

https://www.cjoint.com/?3EzmpDTb9jw

Merci beaucoup pour vos réponses.