XL 2013 Marcro pour qu'une cellule soit vide lorsqu'il y un doublon

lestoiles1

XLDnaute Occasionnel
Bonjour à tous,

Je vais saisir des chiffres dans la colonne A, j'aimerais que ça soit vide lorsque j'ai déja saisie les chiffres aupparavant (en apuyant sur ENTER) la cellule restera vide si les chiffres a éte déja saisie en haut.
 

vgendron

XLDnaute Barbatruc
bonjour

un test
dans l'évènement change de ta feuille
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
For i = 1 To Target.Row-1
    If Range("A" & i) = Target Then
        MsgBox ("Deja saisi en ligne ") & i
        Target = ""
        exit for
   end if
Next i
Application.EnableEvents = True
End Sub
 

lestoiles1

XLDnaute Occasionnel
Merci, j'ai déjà ce code dans la feuille:

Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A1:A1000")) Is Nothing Then
If Target = "" Then
Cells(Target.Row, 14 + Target.Column) = ""
Else
Cells(Target.Row, 14 + Target.Column) = Date
End If
End If
End Sub

Comment les associés svp

Merci
 

vgendron

XLDnaute Barbatruc
Hello,

il te suffit de mettre les deux codes ensemble comme ceci
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Count > 1 Then Exit Sub
For i = 1 To Target.Row - 1
    If Range("A" & i) = Target Then
        MsgBox ("Deja saisi en ligne ") & i
        Target = ""
        Exit For
   End If
Next i
If Not Intersect(Target, Range("A:A")) Is Nothing Then
    If Target = "" Then
        Cells(Target.Row, 14 + Target.Column) = ""
    Else
        Cells(Target.Row, 14 + Target.Column) = Date
    End If
End If

Application.EnableEvents = True
End Sub
 

lestoiles1

XLDnaute Occasionnel
Merci bcp
Hello,

il te suffit de mettre les deux codes ensemble comme ceci
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Count > 1 Then Exit Sub
For i = 1 To Target.Row - 1
    If Range("A" & i) = Target Then
        MsgBox ("Deja saisi en ligne ") & i
        Target = ""
        Exit For
   End If
Next i
If Not Intersect(Target, Range("A:A")) Is Nothing Then
    If Target = "" Then
        Cells(Target.Row, 14 + Target.Column) = ""
    Else
        Cells(Target.Row, 14 + Target.Column) = Date
    End If
End If

Application.EnableEvents = True
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 349
Membres
102 869
dernier inscrit
radyreth