Etablir une liste de 8 nombres sans doublons

Bonjour le forum,

je souhaiterai établir une liste de 8 nombres sans doublons, je m'explique :

j'ai 2 listes de 6 nombres chacune, une que j'ai appelé 1èr choix , je la reprends en bloc .

je reprends dans la 2 ème liste de 6 nombres (2 ème choix ) les nombres n'ayant pas de doublons avec la liste 1 èr choix, en géneral, il y a 2 nombres.

j'établis au final une liste de 8 nombres.

je joint un exemple du résultat souhaité

Merci par avance,

Mamarus

Bonjour

Réponse dans le fichier

Attention: Formules matricielles à valider avec les 3 touches Ctrl+Maj+Entrée

Cordialement

Bonjour Mamarus, bonjour le forum,

Peut-être comme ça :

Sub Macro1()
Dim PC As Variant 'déclare la variable PC (Premier Choix)
Dim SC As Variant 'déclare la variable SC (Second Choix)
Dim SD() As Variant 'déclare la variable SD (Sans Doublon)

PC = Range("B2:G2") 'définit le tableau PC
SC = Range("B4:G4") 'définit le tableau SC
Range("B7").Resize(1, 6) = PC 'renvoie le tableau PC dans B7 redimensionnée
For I = 1 To UBound(SC, 2) 'boucle 1 : sur tous les éléments I du tableau SC
    For J = 1 To UBound(PC, 2) 'boucle 2 : sur tous les éléments J du tableau PC
        If SC(1, I) = PC(1, J) Then GoTo suite 'si les éléments sont identiques, va à l'étiquette suite
    Next J 'prochain élément de la boucle 2
    ReDim Preserve SD(K) 'redimensionne le tableau SD
    SD(K) = SC(1, I) 'récupère l'élément du second choix sans doublon dans l'élément k du tableau SD
    K = K + 1 'incrément k
suite: 'étiquette
Next I 'prochain élément de la boucle 1
Range("H7").Resize(1, K) = SD 'renvoie dans H7 redimensionné le tableau SD
End Sub

[Édition]

Bonsoir Amadéus, nos post se sont croisés. du coup, cool ! Une soluce formule et une soluce VBA...

Bonjour à tous,

Le temps que j'écrive une formule, Amadeus avait posté. Basé sur le même principe, j'ai donc remisé .

Le temps que je ne trouve aucune alternative formule intéressante... une macro ! .

Du coup je la propose en fonction personnalisée, cela fera une variante...

Function HUITSD(PC As Range, SC As Range)
    Dim d As Object, i%
    Application.Volatile
    Set d = CreateObject("Scripting.Dictionary")
    For i = 1 To PC.Cells.Count
        d(PC.Cells(i).Value) = ""
    Next i
    For i = 1 To SC.Cells.Count
        d(SC.Cells(i).Value) = ""
    Next i
    HUITSD = d.keys
End Function

Matricielle...

ThauThème : j'ai emprunté tes noms de variables pour ne pas dépayser...

Cordialement.

Bonsoir,

un grand merci à tous ceux qui se sont intéressé à mon problème, cela fonctionne, impeccable

je vous souhaite par avance, une bonne et heureuse année.

Mamarus

Rechercher des sujets similaires à "etablir liste nombres doublons"