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

  • Initiateur de la discussion Initiateur de la discussion lestoiles1
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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.
 
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
 
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
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
248
Réponses
1
Affichages
337
Réponses
1
Affichages
307
Retour