Changer la valeur d'un doublon par une autre valeur existante

Bonjour, j'ai mis en exécution ce code pour chercher les doublons et ouvrir ensuite un MsgBox au cas ou la condition est vraie.

Private Sub Worksheet_Change(ByVal Target As Range)

On Error Resume Next

Range("B3:B" & Range("B" & Rows.Count).End(xlUp).Row).AdvancedFilter Action:=xlFilterInPlace, Unique:=True

If Application.Subtotal(103, Columns(2)) <> Application.CountA(Columns(2)) Then
    MsgBox "bla bla bla"
End If

End Sub

J'aimerais en ajouter un code pour changer la valeur de la cellule qui contient le doublon par une autre valeur d'une autre cellule dans la même feuille.

Par exemple : le doublon se trouve dans la cellule B17 et j'aimerais changer sa valeur par celle de la cellule A1

Salut,

Je vois que tu as déjà deux sujets sans réponse. Probablement que ça vient du fait que tes questions sont mal posées.

Pour le présent sujet, fournis-moi un fichier modèle et indique ce que tu souhaites par rapport à celui-ci. Peut-être que le code que tu nous fournis n'est pas le bon et il est éventuellement inutile de continuer à travailler là-dessus. De plus, travailler à l'aveugle n'est pas facile

Au plaisir de découvrir ton fichier.

Bonjour,

@aitelhachmi,

Tu as une proposition à voir sur un autre forum !...

Cdlt.

Salut Jean-Eric,

@aitelhachmi : ce n'est pas très sympa, le multipostage. Ca veut dire que une ou plusieurs personnes travaillent dans le vide

Bonsoir tout le monde, Merci pour vos réponses.

Comme je n'es pas l'habitude de poster sur des forums, puis mon niveau en VBA est nul, alors effectivement j'ai posté mon problème sur 3 forums vu que je n'est pas trouvé de solutions en cherchant sur Google, je viens de consulter mes e-mails pour voir les réponses des gens.

dans l'un des forums j'ai eu cette solution qui marche bien pour moi :

Private Sub Worksheet_Change(ByVal Target As Range)

Dim i As Long, DerLig As Long
        DerLig = Range("B" & Rows.Count).End(xlUp).Row
        For i = DerLig To 4 Step -1
            If Application.WorksheetFunction.CountIf(Range("B4:B" & i), Cells(i, "B")) > 1 Then
                MsgBox ("Attention !!! Cette référence existe déjà, elle sera changée automatiquement par une nouvelle référence.")
                Call Module8.Incrémentation_REF
                Range("B1").Select
                Selection.Copy
                Cells(i, "B").Select
                Selection.PasteSpecial Paste:=xlPasteValues
                Application.CutCopyMode = False
            End If
        Next i

End Sub

En fet, ce que je veux faire est changer automatiquement la dernière valeur trouvée en double dans la Colonne (B) par une valeur qui se trouve en permanence dans la cellule A1 (Peut importe la cellule qui contient la valeur en double dans la colonne (B) doit se changer par la valeur de la cellule A1)

Pour info: la cellule A1 contient le dernière référence utilisée et j'utilise un code pour l'incrémenter à chaque fois un doublon a été détecté, donc copier coller sa valeur à la place du doublon détecté.

d'abord j'espère que mon problème est détaillé suffisamment pour se faire comprendre, et si se trouve un code plus léger et efficace pour appliquer la détection d'un doublon et changement automatique de sa valeur par celle de la cellule A1 je serai ouvert à toute suggestion.

capture

Salut,

J'ai compris de ton message que tu as trouvé ton bonheur sur cet autre forum et que tu vas te renseigner auprès de la personne qui t'a aidé au cas où tu aurais d'autres questions à poser.

Pour une prochaine demande, poste sur un forum - le nôtre par exemple - puis attend 24 à 48 heures pour avoir ta réponse. Si tu n'en obtiens pas, poste éventuellement sur un autre forum en jouant cartes sur table, c'est à dire en annonçant que tu n'as pas obtenu l'aide souhaitée ailleurs.

Amicalement.

C'est noté, vous avez tout à fait raison, ça me parait très juste, merci beaucoup

Rechercher des sujets similaires à "changer valeur doublon existante"