XL 2013 Private Sub Worksheet_Change(ByVal Target As Excel.Range)

pasquetp

XLDnaute Occasionnel
bonjour,

je travaille sur une macro pour identifier tout doublon lorsqu'on tappe une valeur

ca va controler tout le classeur et m'avertir si un doublon existe

le probleme c'est que si je fais une selection et supprime, il va faire appliquer la macro

si je fais une selection de lignes et je cut alors il recommence

quelqu'un pourrait m'aider à limiter l'emploi de cette macro automatique à simplement lorsque je tappe du texte et des chiffres?

Merci de votre aide

voici le code

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Application.ScreenUpdating = False

Application.Calculation = xlCalculationManual


Dim Sh As Worksheet
Dim TestCompte As Long, TestSiren As Long, Tv As Variant

Tv = Target.Value

If ActiveSheet.Name <> "NEW Scans" Then
Exit Sub
End If





For Each Sh In ActiveWorkbook.Sheets
'colonne à "surveiller" (ici colonne A)
If Target.Column = 1 Then
'pour vérifier si la saisie n'existe pas déjà dans la colonne
TestCompte = TestCompte + Application.WorksheetFunction.CountIf(Sh.Range("A:A"), Tv)
If TestCompte > 1 Then
a = MsgBox("this Serial already exist !", vbCritical)

Exit Sub
End If
End If


Next Sh
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
 

laetitia90

XLDnaute Barbatruc
Re : Private Sub Worksheet_Change(ByVal Target As Excel.Range)

bonjour pasquetp:)
pas teste ton code
regarde du cote de
Code:
Application.EnableEvents
 

Haut Bas