Signalement de doublons

Bonjour,

je souhaiterais dans un tableau faire ressortir les doublons uniquement numérique, le problèmes c'est qu'il y a déjà pas mal de couleur, de plus quand j'utilise la mise en forme conditionnelle il me prend aussi en compte les doublons en texte, au final cela devient illisible.

ma question est donc.

et t'il possible de ne cibler uniquement les doublons numérique ?

Ya t'il une possibilité d'utiliser une autre alerte qu'une couleur (clignotement, etc)

Merci à vous,

Php

Salut php,

je viens de réaliser quelque chose de similaire cette nuit pour Atro.

https://forum.excel-pratique.com/viewtopic.php?p=811717#p811717

Je peux l'adapter selon tes besoins mais quelques infos supplémentaires ne seraient pas de trop!

  • toujours le même tableau ?
  • dimensions variables ?
  • etc...

A+

Salut a toi,

oui toujours le même tableau, pas de modifications, juste la saisis des postes de travail sur un planning, le but est de repérer rapidement les erreurs de doublons

Voici donc le tableau en question (colonne D), si je demande de signaler les doublons via la mise en forme conditionnelle il me colore tous les doublons y compris les textes, moi je souhaite qu'il me signale uniquement les postes (chiffre) en doublons et pas dans une couleur, mais autre chose si possible, car il faut s'imaginer une fois les colonnes remplis, on ne vois plus rien si il y a trop de couleur.

merci a vous,

Php

Salut php,

premier jet pour voir si ça te convient.

Ces postes ne se répètent-ils pas de colonne en colonne et de feuille en feuille ? Faut-il prévoir une recherche de doublons sur toutes les colonnes et feuilles ?

Le code se trouve dans le module VBA de la feuille 'trame vierge' et ne fonctionnera que pour cette feuille!

La macro de recherche démarre au moindre changement de valeur dans [D].

Private Sub Worksheet_Change(ByVal Target As Range)
'
Dim tD, tTab(), rCel As Range, iIdx%
'
Application.EnableEvents = False
'
If Not Intersect(Target, Range("D4:D49")) Is Nothing Then
    If IsNumeric([AAA1]) Or IsNumeric(Target.Value) Then
        tD = Range("D4:D49").Value
        For x = 1 To UBound(tD, 1)
            If IsNumeric(tD(x, 1)) Then
                If WorksheetFunction.CountIf(Range("D4:D40"), tD(x, 1)) > 1 Then
                    vNum = tD(x, 1)
                    For y = x To UBound(tD, 1)
                        If tD(y, 1) = vNum Then
                            iIdx = iIdx + 1
                            ReDim Preserve tTab(2, iIdx)
                            tTab(0, iIdx - 1) = vNum
                            tTab(1, iIdx - 1) = "D" & CStr(y + 3)
                            tD(y, 1) = ""
                        End If
                    Next
                End If
            End If
        Next
        If iIdx > 0 Then
            sMsg = tTab(0, 0) & "  -> " & tTab(1, 0) & Chr(10)
            For x = 1 To iIdx - 1
                sMsg = sMsg & IIf(tTab(0, x) <> tTab(0, x - 1), Chr(10) & tTab(0, x) & "  -> " & tTab(1, x) & Chr(10), tTab(0, x) & "  -> " & tTab(1, x) & Chr(10))
            Next
        End If
        [AAA1] = ""
        MsgBox sMsg, vbInformation + vbOKOnly, "Doublons"
    End If
End If
'
Application.EnableEvents = True
'
End Sub

A+

Salut a toi,

Exactement ca, bravo, par contre il faudrait que cela fonctionne dans chaque colonne, mais pas sur les lignes bien sur le but étant de voir si sur un jour donné il y a deux postes identiques de planifié, sur les jours suivant il y à forcement des doublons puisque c'est les même postes dans un ordre différent.

Une petite chose aussi une fois la trame vierge réalisé je vais la copier sur des onglets différents en y indiquant le mois, janvier, février, etc...il faudrait que le macro suive .....

En tous les cas un grand merci, la mes compétences sont dépassées.....

Rechercher des sujets similaires à "signalement doublons"