Identifier cellule en doublon

Micke-31

XLDnaute Occasionnel
Bonjour à tous,

Je rame sur un bout de code, et fait appel expert du VBA.

Je souhaiterai identifier les cellules contenant une valeur en doublon afin de reprendre cette valeur pour poursuivre mon code. Exemple si en C5 et C10 se trouve la même valeur je souhaiterai obtenir C10 ou éventuellement C5
Mon petit exemple sera plus parlant

Merci à tous ceux qui prendront connaissance de cette discussion
 

Pièces jointes

  • identifier cellules identiques.xls
    32 KB · Affichages: 105

Micke-31

XLDnaute Occasionnel
Re : Identifier cellule en doublon

Salut Pyrof,

Merci pour ta réponse, mais ne serait il pas possible pour l'identification de la cellule avoir simplement C7 par exemple pour la cellule C7 et non le n° de ligne et colonne L7C3

en tout cas merci encore
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Identifier cellule en doublon

Bonjour,


Code:
Sub ListeDoublons()
  Set mondico1 = CreateObject("Scripting.Dictionary")
  Set mondico2 = CreateObject("Scripting.Dictionary")
  For Each c In [A1:C10]
    temp = c.Value
    If Not mondico1.exists(temp) Then
      mondico1.Add temp, temp
    Else
      mondico2.Add c.Address, temp
      c.Interior.ColorIndex = 4
    End If
  Next c
  [h2].Resize(mondico2.Count, 1) = Application.Transpose(mondico2.keys)
  [i2].Resize(mondico2.Count, 1) = Application.Transpose(mondico2.items)
End Sub

JB
Formation Excel VBA JB
 

Pièces jointes

  • ListeDoublons.xls
    36 KB · Affichages: 94
  • ListeDoublons.xls
    36 KB · Affichages: 95
  • ListeDoublons.xls
    36 KB · Affichages: 90

Micke-31

XLDnaute Occasionnel
Re : Identifier cellule en doublon

Salut Eric S,

merci pour cette modif, toute fois si ce n'est abuser par exemple dans mon exemple j'ai trois S en C3, C4 et C5 la macro me donne C4-C5 ce qui est bon, mais ne serait il possible d'avoir une seule identification par ligne C4, et dans une autre cellule C5

Si ce n'est pas possible merci encore
 

Micke-31

XLDnaute Occasionnel
Re : Identifier cellule en doublon

Salut JB,

Merci pour votre réponse qui me ravie également, mais serait il possible de supprimer les dièses $ ou de les mettre a droite ou gauche suivant le besoin

En tous cas merci à ce forum que j'adore
 

Micke-31

XLDnaute Occasionnel
Re : Identifier cellule en doublon

Bonjour à tous,

Je rajoute un post pour faire remonter ma discussion, la proposition de Pyrof modifiée par Eric est excellente, mais me donne les références des cellules doublons dans la même cellule exemple
C4-C5, je souhaiterai les avoir dans deux cellules différentes.
La solution de Boisgontier remplie cette attente, mais en référence absolue, serait-t-il possible supprimer les dièses ou de choisir éventuellement d’en mettre une à droite ou à gauche suivant les besoins

Merci pour vos lumières
 

Pyrof

XLDnaute Occasionnel
Re : Identifier cellule en doublon

Bonjour

Voici mon code modifié

Code:
Sub essai()
Dim tab_doublon
Set tab_doublon = CreateObject("Scripting.Dictionary")
For Each cellule In Range(Cells(1, 1), Cells(10, 3))
    tmp2 = Replace(cellule.Address, "$", "")
    If InStr(ya, cellule) > 0 Then tab_doublon(tmp2) = cellule
    ya = ya & cellule
Next
l = 2: c = 7
Cells(l, c).Select
Cells(l, c).Resize(100, 2).ClearContents
Cells(l, c + 1).Resize(tab_doublon.Count, 1) = Application.Transpose(tab_doublon.Items)
Cells(l, c).Resize(tab_doublon.Count, 1) = Application.Transpose(tab_doublon.keys)
Cells(l, c).Resize(tab_doublon.Count, 2).Select
Selection.Sort Key1:=Cells(l, c), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
Cells(l, c).Select
End Sub


Pour information je travaille toujours avec cells(1,1) plutôt que range("A1")
Pour moi c'est plus facile de faire des calculs du type cells(10+toto,5+tata)

Voila
 

Discussions similaires

Statistiques des forums

Discussions
312 504
Messages
2 089 085
Membres
104 023
dernier inscrit
zerarka mohamed