Chiffres en double sur une ligne de 16 chiffres

Résolu/Fermé
sousmarinier56 Messages postés 14 Date d'inscription lundi 25 mars 2019 Statut Membre Dernière intervention 14 mars 2022 - 13 mars 2022 à 17:06
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 - 14 mars 2022 à 18:16
Bonjour , je voudrais éliminer des chiffres en double d'une même ligne mais sur plusieurs lignes en même temps . Exemple :
3 9 1 7 13 6 2 5 8 7 9 4 13 5 16 10
6 4 1 7 9 3 5 10 2 3 4 5 6 7 8 9
3 4 1 6 2 7 5 5 4 1 2 3 7 6
5 9 8 6 2 3 4 1 2 3 4 5 6 7 8 9
8 7 4 1 5 6 2 3 5 4 6 1 8 2 7 3
5 6 1 8 2 13 15 7 5 3 2 7 11 13 6
Merci
A voir également:

9 réponses

Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 078
13 mars 2022 à 18:01
Bonjour,

Pour pouvoir t'aider, il faudrait nous dire sur quel logiciel tu travailles Excel, Word, Cal de libre Office etc ...

S'il s'agit d'un classeur, es ce que tous les chiffres d'une ligne sont dans la même cellule ou un chiffre par cellule ?

1
sousmarinier56 Messages postés 14 Date d'inscription lundi 25 mars 2019 Statut Membre Dernière intervention 14 mars 2022
13 mars 2022 à 18:33
Bonsoir Mike , c'est effectivement un petit logiciel que j'ai réussi à composer pour les courses de chevaux . Excel2019 .Je prend donc 2 listes de 8 cv , chaque case comprend 1 numéro et donc il y a dans ces 2 recherches de 8 cv des chiffres en double . En plus , je prend toutes les courses de la journée . Cela représente entre 30 et 40 courses par jour . Elles sont les unes sous les autres , je vous met un exemple :
1 course 3 9 1 7 13 6 2 5 8 7 9 4 13 5 16 10
2 course 6 4 1 7 9 3 5 10 2 3 4 5 6 7 8 9
3 course 3 4 1 6 2 7 5 5 4 1 2 3 7 6
4 course 5 9 8 6 2 3 4 1 2 3 4 5 6 7 8 9
5 course 8 7 4 1 5 6 2 3 5 4 6 1 8 2 7 3
6 course 5 6 1 8 2 13 15 7 5 3 2 7 11 13 6
7 course 10 2 9 3 8 6 11 1 6 9 2 5 8 3 12 1
8 course 3 9 6 4 5 1 14 2 8 4 3 5 7 10 6 9
9 course 3 2 5 7 4 1 6 5 7 2 6 3 4 1
10 course 7 4 5 3 2 1 6 4 7 3 1 2 5 6
11 course 3 6 11 15 7 10 16 4 4 5 3 6 7 8 9 1
12 course 6 5 2 1 3 7 4 4 2 5 3 1 6 7
Voila le bouleau , je vous remercie d'avoir pris ma demande .
Cordialement
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 078
14 mars 2022 à 09:33
Re,

j'ai jeté un œil sur ta demande, le problème ne peut être traité automatiquement que par VBA, et il serait plus facile de traiter ta demande si tes résultats étaient saisis verticalement, dans ce cas le code ne serait que de trois lignes.
As tu quelques notions en VBA et es ce possible de travailler verticalement
0
Sousmarinier
14 mars 2022 à 10:04
Bonjour Mike et Merci pour ta réponse.
Je peux effectivement prendre une 50 taire de courses et faire coller pour avoir les courses verticalement. Je sais aussi ôter les doublons mais colonne par colonne ,inutile de vous dire que ce n'est pas rentable.
Cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 078
14 mars 2022 à 11:12
Re,

alors si tes courses sont enregistré en colonne, exemple course1 colonne A, course2 colonne B etc ...

regarde ce code que tu peux placer dans un bouton ActiveX comme dans l'exemple ou dans un module
ce code traite 6 courses de la colonne A à F sur 10 lignes, le tout à adapter aux limites de ton tableau

Private Sub CommandButton1_Click()
Dim Col As Integer
For Col = 1 To 6 ' --------------------------- parcourt les colonnes de 1 à 6 soit de A à F
Range(Cells(2, Col), Cells(10, Col)).RemoveDuplicates Columns:=1, Header:=xlNo ' ------- tableau de la ligne 2 à 10
Next Col
End Sub

0
sousmarinier56 Messages postés 14 Date d'inscription lundi 25 mars 2019 Statut Membre Dernière intervention 14 mars 2022
14 mars 2022 à 12:05
Merci Mike ,
Pardon mais je suis un peu pommé , je vois ce que vous m'expliquez mais je ne sais pas le faire . Je vais chercher ....
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 078
14 mars 2022 à 13:37
Re,

Pour t'aider à comprendre, télécharge le fichier à partir du lien ci-dessous avec tes données exemples que j'ai retranscrite en colonne.
J'ai automatisé mon code pour sélectionner automatiquement le nombre de colonnes et de lignes à traiter.
Pour suivre l'action du code macro j'ai colorisé en jaune les numéros en doublon qui seront supprimés

https://www.cjoint.com/c/LComHGTa8uF
0
sousmarinier56 Messages postés 14 Date d'inscription lundi 25 mars 2019 Statut Membre Dernière intervention 14 mars 2022
14 mars 2022 à 16:43
Ah , ben voilà une chosr qu'elle est bonne . Je viens de faire plusieurs essais et mieux serait indéscent . Donc , Grand Merci à vous Mike , vous êtes super . Bravo . Je n'ai plus qu'a apprendre a faire cela . Vous m'avez une belle épine du pied .
Je vous remercie encore .
Cordialement
sousmarinier .
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 078
Modifié le 14 mars 2022 à 18:23
Re,

Excel n'aime pas trop travailler en horizontale c'est pour cela que je t'ai proposé la saisie en colonne ce qui à limité le code à
Private Sub CommandButton1_Click()
Dim Col, Derlig, Dercol As Integer
Derlig = Range("A" & Rows.Count).End(xlUp).Row ' --------------------------------------- recherche index dernière ligne
Dercol = Cells(1, Columns.Count).End(xlToLeft).Column ' -------------------------------- recherche index dernière colonne
For Col = 1 To Dercol ' --------------------------------------------------------------------- parcourt les colonnes de 1 à 6 soit de A à F
Range(Cells(2, Col), Cells(Derlig, Col)).RemoveDuplicates Columns:=1, Header:=xlNo ' --- tableau de la ligne 2 à 10
Next Col
End Sub


sinon pour traiter le tableau horizontalement comme tu le proposais au départ, il fallait avec ce code transposer les données sur un autre onglet ce qui donnerai a première vue ce code pour ceux qui veulent approfondir et peut être proposer un code pour supprimer les cellules en doublon sur place ligne par ligne.
Sub test()
Dim Col, Derlig, Dercol As Integer
    Application.ScreenUpdating = False 
    Derlig = Range("A" & Rows.Count).End(xlUp).Row 
    Dercol = Cells(1, Columns.Count).End(xlToLeft).Column 
    Range(Cells(1, 2), Cells(Derlig, Dercol)).Copy 
    Sheets("Feuil2").Select 
    Range("A1").Select 
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True 
    Sheets("Feuil1").
    Range(Cells(1, 2), Cells(Derlig, Dercol)).ClearContents 
    Sheets("Feuil2").Select 
    Derlig = Range("A" & Rows.Count).End(xlUp).Row 
    Dercol = Cells(1, Columns.Count).End(xlToLeft).Column 
    For Col = 1 To Dercol 
    Range(Cells(1, Col), Cells(Derlig, Col)).RemoveDuplicates Columns:=1, Header:=xlNo 
    Next Col
    Selection.Copy 
    Sheets("Feuil1").Select 
    Range("B1").Select 
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
     Application.CutCopyMode = False 
   Sheets("Feuil2").Select 
    Cells.ClearContents 
    [A1].Select
    Sheets("Feuil1").Select
     [A1].Select
    Application.ScreenUpdating = True
 End Sub


Je passe le statut de la discussion en résolu
0