Bonjour à tous,

Le
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 +
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #5428771
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
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 +


frasax
Le #5428741
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
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 +






Publicité
Poster une réponse
Anonyme