Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

repérer les doublons en VBA....à partir de la Cellule active

  • Initiateur de la discussion Initiateur de la discussion océanne
  • 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 !

océanne

XLDnaute Occasionnel
Bonjour le forum,

Je viens sur un sujet de nombreuses fois abordées sur ce forum, il s'agit des doublons.

Je souhaiterai que dans une plage de cellule, les doublons de la valeur de la cellule active puissent être mis en évidence. (sur ce sujet bien particulier, j'avoue n'avoir pas trouvé)

Je vous joins un petit fichier avec l'illustration.

Merci d'avance à celui ou celle qui pourra me venir en aide.

O.
 

Pièces jointes

Re : repérer les doublons en VBA....à partir de la Cellule active

Bonsoir,
à tester :
Code:
Sub test()
Dim Pl As Range, c As Range
Set Pl = ActiveCell.CurrentRegion
Pl.Interior.ColorIndex = none
For Each c In Pl
    If c Like ActiveCell.Value Then c.Interior.ColorIndex = 7
Next c
End Sub
A+
 
Re : repérer les doublons en VBA....à partir de la Cellule active

Bonsour®

🙄 tout en automatique ...
1- proc événementielle :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.Calculate
End Sub
+
2 - Nom défini : Active
fait référence à : =CELLULE.ACTIVE()
+
3 - Mise en forme conditionnelle
 

Pièces jointes

  • Capture2.JPG
    33.2 KB · Affichages: 121
  • Capture3.JPG
    53.8 KB · Affichages: 119
  • Capture1.JPG
    41.1 KB · Affichages: 94
  • Capture2.JPG
    33.2 KB · Affichages: 111
  • Capture3.JPG
    53.8 KB · Affichages: 121
  • Capture1.JPG
    41.1 KB · Affichages: 81
  • Capture2.JPG
    33.2 KB · Affichages: 92
  • Capture3.JPG
    53.8 KB · Affichages: 106
  • Capture1.JPG
    41.1 KB · Affichages: 90
Re : repérer les doublons en VBA....à partir de la Cellule active

Bonjour océanne, David, Modeste geedee, DoubleZero 🙂

Sur ces fichiers, création d'une MFC en VBA, soit par simple clic, soit par double-clic.

A+
 

Pièces jointes

Re : repérer les doublons en VBA....à partir de la Cellule active

Re,

Avec les versions (1) il peut arriver que la MFC ne soit pas effacée de toutes les cellules.

Ce qui alourdirait inutilement le fichier.

Il vaut donc mieux utiliser ces versions (2) avec :

Code:
Cells.FormatConditions.Delete 'RAZ
A+
 

Pièces jointes

Re : repérer les doublons en VBA....à partir de la Cellule active

Salut

Il y a un fichier dans mon portfolio de code vba qui peut répondre à ta question. Si tu veux je peux le personaliser pour mettre en évidence plutôt que copier.

lien (choisir le fichier "investigate duplicates")
Site in construction

Pascal
 
Re : repérer les doublons en VBA....à partir de la Cellule active

Re,

DoubleZero a eu la gentillesse de me prévenir que mes solutions ne fonctionnent pas correctement sur Excel 2007.

Effectivement je les ai créées sur Excel 2010.

Sur Excel 2003 elles ne fonctionnent pas non plus.

Alors voici une version (3) qui fonctionne sur Excel 2003, mais pas sûr pour Excel 2010...

Edit : eh non, je viens de tester, sur Excel 2010 cette nouvelle version ne fonctionne pas !

A+
 

Pièces jointes

Dernière édition:
Re : repérer les doublons en VBA....à partir de la Cellule active

Bonjour à toutes et à tous,

@ job75 🙂,

Chaque fichier de la version n° 3 fonctionne parfaitement avec Excel 2007. Merci 😀.

A bientôt 🙂🙂
 
Re : repérer les doublons en VBA....à partir de la Cellule active

Bonjour DoubleZero, le forum,

Merci pour ton retour, cette version (4) fonctionnera donc sur toute version.

Comme j'aime bien ta mise en place d'un commentaire, je l'ai ajoutée 🙂

A+
 

Pièces jointes

Dernière édition:
Re : repérer les doublons en VBA....à partir de la Cellule active

Bonsour®
Bonjour DoubleZero, le forum,

Merci pour ton retour, cette version (4) fonctionnera donc sur toute version.

Comme j'aime bien ta mise en place d'un commentaire, je l'ai ajoutée 🙂

A+

😎 attention toutefois à l'utilisation de :
Code:
Cells.FormatConditions.Delete 
Cells.ClearComments
qui est bien brutale à mon goût... 😡
vis a vis des commentaires et MEFC existant par ailleurs dans la feuille ...
😛 restreindre cette instruction à la plage concernée par la recherche de doublons
(Me.UsedRange # Me.plageRecherche)
 
Re : repérer les doublons en VBA....à partir de la Cellule active

Bonjour Modeste geedee,

Bien d'accord, si nécessaire il faut préciser les plages à traiter.

Voir par exemple ces fichiers (5).

Nota : j'avais oublié d'effacer la MFC et le commentaire au début de la macro Worksheet_BeforeDoubleClick.

A+
 

Pièces jointes

Dernière édition:
Re : repérer les doublons en VBA....à partir de la Cellule active

Bonsour®
😎
pour ma part j'en étais là :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Range("B4:E10")
     .FormatConditions.Delete
    .ClearComments
End With
  
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target = "" Then Exit Sub
Dim n&, v, a1$, a2$
Cancel = True
With Range("B4:E10")
    n = Application.CountIf(.Cells, ActiveCell)
  '-------------MEFC
    If n > 1 Then
            v = Val(Application.Version)
            a1 = IIf(v > 12, .Cells(1), ActiveCell).Address(0, 0) 'reférence relative
            a2 = ActiveCell.Address 'référence absolue
            .FormatConditions.Add xlExpression, _
            Formula1:="=(" & a1 & "<>"""")*(" & a1 & "=" & a2 & ")"
            .FormatConditions(1).Interior.Color = vbYellow 'jaune
    End If
    ' -------------------------commentaire
    With ActiveCell.AddComment(IIf(n = 1, "valeur unique", n & " doublons"))
            With .Shape.TextFrame
                .Parent.Fill.ForeColor.RGB = vbBlack 'fond noir
                .Characters.Font.Size = 11
                .Characters.Font.ColorIndex = 2 'blanc
                .Characters.Font.Bold = True 'gras
                .AutoSize = True
            End With
            .Visible = True
    End With
  
End With
End Sub
 
Re : repérer les doublons en VBA....à partir de la Cellule active

Re Modeste geedee,

Oui c'est très bien aussi.

Mais comme précisé dans mon post précédent il faut effacer au début de la macro BeforeDoubleClick :

Code:
Cancel = True
With Range("B4:E10")
    .FormatConditions.Delete
    .ClearComments
sinon la macro beugue si l'on fait plusieurs*** doubles-clics successifs sur la même cellule.

Edit : *** 2 doubles-clics pour le commentaire, 4 doubles-clics pour la MFC (sur Excel 2003 limité à 3 conditions).

A+
 
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

X
Réponses
5
Affichages
1 K
Xavlh76
X
G
Réponses
9
Affichages
1 K
G
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…