Liste de chiffres associés

Bonjour à tous,

Je suis toujours dans le désespoir face à une formule ou macro afin de retrouver des chiffres associés dans des lignes.

Je ne sais pas si une boucle, formule matricielle me permettrait d'y arriver!, je suis trop novice.

J'ai mis le fichier en pièce jointe.

Il y a 5 chiffres à vérifier par ligne (colonne B à F), ceux qui sont associés 1,2,3,4 ou 5 chiffres devraient se reporter dans les colonnes H à L.

Les explications et résultat se trouvent dans le fichier

Qui pourrait m'aider?

Merci pour votre temps

Ced

Bonjour Ced 59,

Tu as déjà ouvert un sujet hier pour le même problème !

Imaginons que certains aient commencer à chercher sur l'autre sujet et que d'autres commencent à chercher sur celui ci ! Ça fait doublon !

C'est dans les règles d'utilisation du forum !

Girodo,

Bonjour Girodo,

Je le sais mais n'ayant pas reçu de réponse favorable, peut être parce que trop complexe, j'ai simplifié ma demande ce jour

Cordialement

Ced

Bonjour Ced, bonjour le forum,

Pourquoi la première ligne n'est pas prise en compte puisque les cellules M3, N3 et O3 contiennent des étiquettes ?

Bonjour ThauThème,

Oui il y avait un décalage, je viens de le rectifier

Merci

Ced

Re,

J'avais commencé à coder mais je me rends compte que je ne comprends rien.

Exemple : ligne 10 : 1/2/3/6/39

Ton Résultat : 01/02/06 : Ligne 12&24 (la ligne 24 n'a !?...)

Le numéro 6 se trouve aussi lignes : 3, 4, 22 et 23

Si on veut un code cohérent il faut que tu fournisse un exemple cohérent. Pas obligé de faire toutes les lignes mais au moins on sait où aller...

Re,

Oui je pense qu'il y avait confusion entre l'étiquette de la colonne A et le numéro de ligne.

Je viens de modifier et mis 3 exemples en couleur. Je sais il doit en exister d'autres et c'est pour cela que je recherche quelque chose d'automatisé.

Encore merci pour ton aide précieuse,

Ced

Bonjour Ced, bonjour le forum,

Je ne comprends toujours rien à tes tableaux. Il manque un nombre important de résultats !...

En pièce jointe ton fichier modifiée avec le code ci-dessous :

Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DL As Byte 'déclare la variable DL (Dernière Ligne)
Dim PL As Range 'déclare la variable PL (PLage)
Dim I As Byte 'déclare la variable I (Incrément)
Dim J As Byte 'déclare la variable J (incrément)
Dim CI As Byte 'déclare la variable CI (Colonne de I)
Dim CJ As Byte 'déclare la variable CJ (Colonne de J)
Dim PLL As Range 'déclare la variable PLL (PLage de la Ligne)
Dim PLR As Range 'déclare la variable PLR (PLage de la Recherche)
Dim NI As Byte 'déclare la variable NI (Nombre d'Identiques)
Dim LL As String 'déclare la variable LL (Lignes en Lettre)

Set O = Worksheets("Feuil 1 ") 'définit l'onglet O
DL = O.Cells(Application.Rows.Count, "B").End(xlUp).Row 'définit la dernière lettre éditée DL de la colonne B de l'onglet O
Set PL = O.Range("B4:F" & DL) 'définit la plage PL
For I = 4 To DL 'boucle 1 : sur toutes les lignes I de 4 à DL
    Set PLL = Application.Intersect(PL, O.Rows(I)) 'définit la plage de la ligne PPL
    For CI = 2 To 6 'boucle 2 sur toutes les colonnes CI de la ligne I de 2 à 6
        For J = 4 To DL 'boucle 3 : sur toutes les lignes J de 4 à DL
            If J <> I Then 'condition 1 : si J est différent de I
                Set PLR = Application.Intersect(PL, O.Rows(J)) 'définit la plage PLR de la recherche
                For CJ = 2 To 6 'boucle 4 : sur toutes les colonnes CJ de la ligne J de 2 à 6
                    If O.Cells(I, CI) = O.Cells(J, CJ) Then 'condition 2 : si les numéros sont les mêmes
                        O.Cells(I, CI + 6).Value = O.Cells(I, CI) 'renvoie le numéro dans la colonne des résultats CI + 6
                        If CI = CJ Then 'condition 3 : si les colonnes CI et CJ sont identiques
                            'définit la ligne en lettre LL (le(s) numéro(s) identique(s) suivit des lignes qui correspondent)
                            LL = IIf(LL = "", O.Cells(I, CI).Value & "-" & O.Cells(I, "A").Value & "&" & O.Cells(J, "A").Value, LL & "&" & O.Cells(J, "A").Value)
                            NI = NI + 1 'incrémente le numéro d'identiques NI
                            Exit For 'sort de la boucle 4
                        End If 'fin de la condition 3
                    End If 'fin de la condition 2
                Next CJ 'prochaine colonne de la boucle 4
            End If 'fin de la condition 1
        Next J 'prochaine ligne J de la boucle 3
        O.Cells(I, "N").Value = NI 'renvoie dans la cellule ligne I colonne N le nombre d'identiques NI
        'renvoie dans la cellule ligne I colonne O la ligne en Lettre
        O.Cells(I, "O").Value = IIf(O.Cells(I, "O").Value = "", LL, O.Cells(I, "O").Value & " " & LL)
        LL = "" 'vide la ligne en lettre LL
    Next CI 'prochaine colonne de la boucle 2
    NI = 0 'vide le nombre d'identique NI
Next I 'prochaine ligne de la boucle 1
End Sub
6ced-ep-v01.xlsm (87.22 Ko)

Le fichier :

Bonjour ThauThème,

Tout d'abord un grand merci pour ton travail, c'est génial d'avoir des compétences comme cela

j'ai effectué quelques essais mais je recherche uniquement les chiffres qui sont associés, c'est à dire duo, trio, quatuor, et dans les différentes lignes?

les chiffres unique ne m'intéresse pas

Par contre il faudrait considérer 1000 lignes

Encore merci

Ced

Re,

Rien compris...

Re,

Les chiffres qui ne sont pas associés il ne faut pas les considérer

C'est vrai que le chiffre 6 se trouve dans plusieurs lignes G1, G2 et G23

6 12 20 25 43

6 26 39 40 45

6 19 24 32 42

Est ce qu'il est associé à un autre chiffre, non!, ce qui signifie que le 6 ne sera pas considéré pour le moment

Par ailleurs le chiffre 26 en G2 se trouve également dans plusieurs lignes, G2, G12 et G19

6 26 39 40 45

1 10 26 36 45

2 5 26 29 47

Est ce qu'il est associé à un autre chiffre, oui avec le 45 qui correspond à un duo

Si je fais l'exercice avec le chiffre 1 on le retrouve en G10, G12, G14, et G22

1 2 3 6 39

1 10 26 36 45

1 24 28 30 44

1 2 6 41 49

Est ce qu'il est associé à un autre chiffre, oui le 2 et même le 6 qui correspond à un trio

Bien sur la difficulté c'est de l'effectuer avec chaque chiffre de 1à 65

J'espère que c'est un peu plus clair pour vous

encore merci

Ced

Re,

Je pense que ce qui suit vous aidera à voir plus clair.

Il y a 5 chiffres par ligne, il faut comparer le 1er et le 2ème chiffre de la ligne 1 avec la ligne suivante et cela pour toutes les lignes, ensuite le 1er et le 3ème chiffre, le 1er et le 4ème, le 1er et le 5ème, le 2ème chiffre et le 3ème, le 2ème et le 4ème et ainsi de suite…

1 2

1 3

1 4

1 5

2 3

2 4

2 5

3 4

3 5

4 5

Si un duo est trouvé dans 2 lignes on comparera ces 2 lignes avec les 3 autres numéros restant pour voir si il n'existe pas un trio.

Comme dans l'exemple G10 et G22, il y avait le chiffre 1 et le chiffre 2 qui composaient un duo en continuant on retrouve également le chiffre 6 en commun.

C'est pas évident à expliquer mais j'espère sincèrement que ces explications vont aider

Encore merci

Ced

Rechercher des sujets similaires à "liste chiffres associes"