Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Bonjour à tous,

2 réponses
Avatar
frasax
J’ai une macro pour empêcher la saisie d’une valeur dans une cellule si cette
même valeur existe déjà dans une colonne.
J’aimerais lors d’une saisie déjà existante, que la textbox « saisissez un
autre numéro, celui-ci existe déjà », débogue ou mette fin à l’erreur
d’exécution ‘1004’, la méthode Select de la classe Range a échoué.
L’erreur est mise en couleur à Target.Select

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 5 Then
If Application.WorksheetFunction. _
CountIf(Range("E:E"), Target.Value) > 1 Then

MsgBox "saisissez un autre numéro, celui-ci existe déjà"
Target.Value = ""
Target.Select
End If
End If
End Sub

Je suis sous Office 2003
Merci à vous si vous avez une solution ou me dire si la macro doit-être
modifiée.
A +

2 réponses

Avatar
JB
Bonsoir,

Je n'observe pas d'erreur

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 5 And Target.Count = 1 Then

If Application.WorksheetFunction. _
CountIf(Range("E:E"), Target.Value) > 1 Then
MsgBox "saisissez un autre numéro, celui-ci existe déjà"
Application.EnableEvents = False
Target.Value = ""
Target.Select
Application.EnableEvents = True
End If
End If
End Sub

http://cjoint.com/?dDuWe3MKwl

JB

On 29 mar, 20:33, frasax wrote:
J'ai une macro pour empêcher la saisie d'une valeur dans une cellule si cette
même valeur existe déjà dans une colonne.
J'aimerais lors d'une saisie déjà existante, que la textbox << saisiss ez un
autre numéro, celui-ci existe déjà >>, débogue ou mette fin à l' erreur
d'exécution '1004', la méthode Select de la classe Range a échoué.
L'erreur est mise en couleur à Target.Select

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 5 Then
If Application.WorksheetFunction. _
CountIf(Range("E:E"), Target.Value) > 1 Then

MsgBox "saisissez un autre numéro, celui-ci existe déjà"
Target.Value = ""
Target.Select
End If
End If
End Sub

Je suis sous Office 2003
Merci à vous si vous avez une solution ou me dire si la macro doit-êtr e
modifiée.
A +


Avatar
frasax
Bonjour JB,

J’ai été un peu long, voici en retour le problème.
Effectivement sur votre version il n’y a pas d’erreur.
Ce qui ce passe chez moi c’est que j’ai plusieurs onglets.
En feuille 1, je lance avec une macro une donnée qui va s’installer sur la
feuille 2 et c’est sur la feuille 2 que le doublon peut exister.
Merci de votre aide.
A +

http://cjoint.com/?dDvYY7yZRe


"JB" wrote:

Bonsoir,

Je n'observe pas d'erreur

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 5 And Target.Count = 1 Then

If Application.WorksheetFunction. _
CountIf(Range("E:E"), Target.Value) > 1 Then
MsgBox "saisissez un autre numéro, celui-ci existe déjà"
Application.EnableEvents = False
Target.Value = ""
Target.Select
Application.EnableEvents = True
End If
End If
End Sub

http://cjoint.com/?dDuWe3MKwl

JB

On 29 mar, 20:33, frasax wrote:
J'ai une macro pour empêcher la saisie d'une valeur dans une cellule si cette
même valeur existe déjà dans une colonne.
J'aimerais lors d'une saisie déjà existante, que la textbox << saisissez un
autre numéro, celui-ci existe déjà >>, débogue ou mette fin à l'erreur
d'exécution '1004', la méthode Select de la classe Range a échoué.
L'erreur est mise en couleur à Target.Select

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 5 Then
If Application.WorksheetFunction. _
CountIf(Range("E:E"), Target.Value) > 1 Then

MsgBox "saisissez un autre numéro, celui-ci existe déjà"
Target.Value = ""
Target.Select
End If
End If
End Sub

Je suis sous Office 2003
Merci à vous si vous avez une solution ou me dire si la macro doit-être
modifiée.
A +