Une histoire de doublons...

  • Initiateur de la discussion Initiateur de la discussion gimli
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

gimli

XLDnaute Occasionnel
Bonjour à tous,

je sais que de nombreux post existent au sujet des doublons, mais les ayant à peu près tous lus (je pense) je n'ai toujours pas trouvé de réponse à ma question, qui est la suivante : Comment faire pour que lorsque ma macro ouvre un fichier, elle vérifie si il y a des doublons, les mémorise, et quand elle a fini la vérification, affiche un message a l'écran du genre :
" voici la liste des doublons : ligne 28
ligne 45
..."

Quand l'utilisateur cliquera sur le bouton OK du msgbox (car je pense que c'est cela qu'il faut utiliser ?), la macro entière s'arrête et ça quitte l'application. Ainsi, l'utilisateur ira supprimer à la main les doublons, et pourra relancer la macro ensuite.

J'espère que j'ai été à peu près clair :$

Merci à vous,

Gimli
 
Re : Une histoire de doublons...

Bonjour pierrejean, le forum,

tout d'abord merci pour le travail accompli , mais je crois que je me suis mal exprimé au sujet de mon problème. Voici mon projet: j'ai une feuille Traitement qui ouvre un fichier excel(grace a son chemin absolu contenu dans une cellule) dans un nouveau classeur. Pour ouvrir ce fichier, l'utilisateur clique sur un bouton "BtnTraitement", le fait de cliquer sur le bouton va donc ouvrir un nouveau classeur qui contiendra toutes les feuilles du fichier excel, mais également lancer une suite de traitements automatiques, tels que rangements de colonnes automatiques, calculs etc... tous ces traitements sont contenus dans le code du bouton BtnTraitement. Dans ce code, je souhaiterai ajouter la fameuse "détection" des doublons avec tous les détails que j'ai précisé dans mon premier post 😉

Je pense que c'est un peu plus clair 🙂

Bonne journée



EDIT: j'aurai une idée pour améliorer un peu le code que vous m'avez fourni, pour que quand la fenêtre qui récapitule tous les doublons s'affiche, elle affiche un truc du genre "doublon ligne X avec ligne Y et Z" mais je ne sais pas comment faire 🙁
 
Dernière édition:
Re : Une histoire de doublons...

Ce code remonte 1 par 1 les adresses des doublons :

Sub Doublons()
' Affiche des messages en indiquant l'adresse cellule des doublons trouvés.
Dim Col As Integer
Dim r As Long
Dim c As Range
Dim N As Long
Dim V As Variant
Dim x As String
Dim Rng As Range
Dim voirdoublons As String
On Error GoTo EndMacro
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Col = ActiveCell.Column
If Selection.Rows.Count > 1 Then
Set Rng = Selection
Else
Set Rng = ActiveSheet.UsedRange.Rows
End If
N = 0
For r = Rng.Rows.Count To 1 Step -1
V = Rng.Cells(r, 1).Value
x = Rng.Cells(r, 1).Address(0, 0)
If Application.WorksheetFunction.CountIf(Rng.Columns(1), V) > 1 Then
'Rng.Rows(r).EntireRow.Delete
MsgBox "doublons trouvé(s) : " & "Valeur: " _
& V & Chr(13) & "dans la cellule : " & x
N = N + 1
End If
Next r
EndMacro:
End Sub

****
celui ci les marque en rouge :

Sub Macro_Doublon()
On Error GoTo fin
' Dans une sélection de cellule, met en rouge les cellules contenant des doublons
Set MonDico = CreateObject("Scripting.Dictionary")

Rep1 = InputBox("", "Qelle colonne est à contrôler ?")
If Rep1 = Cancel Then
Exit Sub
Else:
Colon$ = Rep1 ' <<<<<<<<<< colorer les doublons en colonne au choix !?
NoPremLig = 1 ' prem ligne
NoDernLig = Cells(Rows.Count, Colon$).End(xlUp).Row ' dern ligne
' boucle
For NoLig = NoPremLig To NoDernLig
If Cells(NoLig, Colon$) <> "" Then
Var$ = Cells(NoLig, Colon$)
If Not MonDico.Exists(Var$) Then ' ajoute
MonDico.Add Var$, Var$
Else ' sinon existe déjà
Cells(NoLig, Colon$).Interior.ColorIndex = 3 'soit rouge, le 4 = vert clair, etc.
End If
End If
Next
End If
' sélection des cellules contenant des données :
Range(Rep1 & 1 & ":" & Rep1 & NoDernLig).Select


fin:
End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
665
B
Réponses
9
Affichages
896
Benskyy
B
G
Réponses
4
Affichages
1 K
Gregoryen
G
C
Réponses
4
Affichages
2 K
C
N
Réponses
0
Affichages
679
N
B
Réponses
5
Affichages
988
Retour