Appliquer macro si cellule change de valeur et doublon

Bonjour à Tous

J'aimerai pouvoir exécuter une macro si une cellule change de valeur...

Je m'explique

J'ai un tableau avec 3 colonnes

Colonne A de A4 à A200 une liste de prénoms

Colonne B de B4 à B200 une liste de Noms

Colonne C à remplir par la macro avec le prénom et l'initiale du nom.

en Cellule D4 j'ai une valeur correspond aux nombre de lignes remplies définie par =NBVAL(A4:A200)

J'utilise le code suivant.

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("D4")) Is Nothing Then
Sheets("preparation").Select 
Dim n As Integer
n = Range("D4").Value

    For i = 4 To n + 3
    Range("c" & i).Value = Range("A" & i).Value & "_" & Left(Range("B" & i).Value, 1)
    Next
End If

End Sub

Sauf que ça ne marche pas car il ne prend pas en compte le changement de valeur de la cellule.

Ça ne marche que si je me mets sur la cellule dans la barre fonction et que je fais "entrée"

Z'avez une idée de comment que je pourrais m'en sortir ?

Question subsidiaire.

en cas de doublon sur la colonne c de C4 à C200

comment faire pour aller chercher la seconde lettre etc... jusqu'à ce qu'il y ait une différence ?

A vos cerveaux Prêt partez

++

Troph

bon j'ai trouvé la première partie

Private Sub Worksheet_calculate()

Dim n As Integer
Sheets("preparation").Select

n = Range("D4").Value
    For i = 4 To n + 3
    Range("c" & i).Value = Range("A" & i).Value & "_" & Left(Range("B" & i).Value, 1)
    Next

End Sub

Il me reste l'histoire des doublons

Rechercher des sujets similaires à "appliquer macro change valeur doublon"