Recherche doublon

bonsoir ,

SVP est-il possible de me dire si vous voyez se qui cloche le msg box devrait renvoyer la valeur 2 vu que le colonne c comporte deux cellule ayant la valeur 2 or celui la me renvoie 1 ???

Salut addou,

... euh...

Ben, camarade, y'a du boulot, hein!

En tout cas, le développement théorique de ta logique m'interpelle au plus haut point!

Bref, que veux-tu faire?

A+

bonsoir; je sais lol

je m'excuse d’ailleurs car avant et après tout je ne suis qu'un novice en VBA que 2 ou 3 mois max que je m'y suis met

je voudrais que lors de l'ouverture de mon classeur , le code vérifie si une valeur existe en double dans la colonne "C:C" et qu'il m'affiche le nombre de valeur identiques existante dans cette colonne dans un msg box

vu que dans le contexte pour lequel je développe ce petit bout de code il est plus qu'impossible d'avoir 4 valeur identique car déjà 2 serait synonyme de mauvaise manipulation qui entrainerai une catastrophe pour la petit entreprise dont je suis membre alors imaginez 4 !!!

j’espère m'avoir bien expliquer cette fois, je reste a disposition pour d'autre information au besoin

merci quand même ne serais ce que pour prendre le temps de lire mes messages

Bonjour addou, curulis57

Oui effectivement curieuse logique

Salut addou,

une façon de faire...

Je postule ici que tes données se trouvent en colonne [C:C] sinon adapter le code.

La macro se déclenche par un double-clic.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
Dim tData()
Dim iIdx As Integer, iFlag As Integer, iFlag1 As Integer, iRow As Integer
'
iRow = Range("C" & Rows.Count).End(xlUp).Row
For x = 1 To iRow
    If iIdx > 0 Then
        iFlag = 0
        For y = 0 To iIdx - 1
            If CDbl(Cells(x, 3)) = CDbl(tData(0, y)) Then iFlag = 1
        Next
    End If
    iFlag1 = WorksheetFunction.CountIf(Range("C1:C" & iRow), Cells(x, 3))
    If iFlag = 0 And iFlag1 > 1 Then
        iIdx = iIdx + 1
        ReDim Preserve tData(2, iIdx)
        tData(0, iIdx - 1) = Cells(x, 3)
        tData(1, iIdx - 1) = iFlag1
        sMsg = sMsg & "Le nombre   " & Cells(x, 3) & "   est présent   " & iFlag1 & "   fois!" & Chr(10)
    End If
Next
sMsg = IIf(sMsg = "", "Pas de doublons détectés!", sMsg)
MsgBox sMsg, vbInformation, "Doublons"
'
End Sub

A+

6doublonsaddou.xlsm (17.76 Ko)

merci beaucoup c'est parfait de plus cela me fait de nouveaux truc a étudier afin de m'améliorer.

merci je met sur resolu

au plaisir

Rechercher des sujets similaires à "recherche doublon"