Incrémenter les doublons

Bonjour à tous, c'est ma première question depuis tant d'années que je lis les sujets sur excel. Ils y en a qui sont très très forts. Problème que je n'arrive pas à résoudre je suis excel 2021.

Si je copie et que j'ai des doublons dans la colonne (c) mais je ne veux pas les supprimer mais ajouter par exemple 0.0000001 afin de garder les montants

Exemple j'ai 3 10€00 - 3 11€00 dans la colonne C je ne veux pas supprimer les doublons mais les différencier par des décimales

le 1er 10€00 reste 10€00 - Le 2ème 10€00 devient 10€000001 - le 3ème devient 10€000002 et ainsi de suite

le 1er 11€00 reste 11€00 - Le 2ème 11€00 devient 11€000001 - le 3ème devient 11€000002 et ainsi de suite

Et cela à chaque doublon trouvé dans cette colonne et tout cela en code VBA

Je vous remercie tous par avance et je pense que pour certains cela va être un jeu d'enfant, moi je suis larguer.

A toute

Bonsoir à tous !

Et.....

------> Pour une aide adaptée de la communauté, merci de préciser, dans votre profil, la nature de votre Excel ( 2019 ? 2021 ? 365 ? ...)

Bonsoir, TraversW, JFL

Avec un bouton de commande + mettre ce code

Sub DifferencierDoublonsAvecFormat()
    Dim cell As Range
    Dim plage As Range
    Dim dict As Object
    Dim cle As String
    Dim increment As Double
    Dim baseValeur As Double
    Set dict = CreateObject("Scripting.Dictionary")
    Set plage = Range("C1:C" & Cells(Rows.Count, "C").End(xlUp).Row)
    increment = 0.0000001
    For Each cell In plage
        If IsNumeric(cell.Value) And Not IsEmpty(cell.Value) Then
            ' On arrondit à 2 décimales pour définir la "valeur de base"
            baseValeur = WorksheetFunction.Round(cell.Value, 2)
            cle = CStr(baseValeur)
            If dict.exists(cle) Then
                dict(cle) = dict(cle) + 1
                cell.Value = baseValeur + dict(cle) * increment
                cell.NumberFormat = "0.0000000"
            Else
                dict.Add cle, 0
                cell.Value = baseValeur ' au cas où l'utilisateur aurait déjà un nombre à plus de 2 décimales
                cell.NumberFormat = "0.00"
            End If
        End If
    Next cell
End Sub

Ou

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Slts

Bonsoir à tous de nouveau !

Une proposition "formule" basique en D3 :

= (NB.SI($C$3:C3;C3)-1) * 0,0000001  + C3

A étirer vers le bas.

image

Bonsoir JFL

Sa demande était

Et cela à chaque doublon trouvé dans cette colonne et tout cela en code VBA

Slts

Bonsoir à tous de nouveau !

......... et tout cela en code VBA

Oups ! J'avais lu l'exact inverse !

Salut Boss_68, je planchais depuis un bout de temps j'en reviens pas! Je savais que pour certain cela allait être assez facile, mais aussi rapide c'est très impressionnant. Merci à vous et un grand merci

Rechercher des sujets similaires à "incrementer doublons"