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

débogue l’erreur d’exécution ‘1004 avec textbox

4 réponses
Avatar
frasax
Bonjour à tous,

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 +

4 réponses

Avatar
Philippe.R
Bonsoir,
Non testé, essaie avec range(target.address).select
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"frasax" a écrit dans le message de
news:
Bonjour à tous,

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 +


Avatar
frasax
Bonjour Philippe.R
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 et une donnée va s’installer sur la
feuille 2 et c’est sur la feuille 2 que le doublon peut exister.
Voir dossier joint.
Merci de votre aide.
A +

http://cjoint.com/?dEnsqgsAXr

"Philippe.R" wrote:

Bonsoir,
Non testé, essaie avec range(target.address).select
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"frasax" a écrit dans le message de
news:
Bonjour à tous,

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 +






Avatar
francois.forcet
Rebonjours à toi

Je ne vois pas l'intéret de la ligne :

Target.Select


qui vise à sélectionner la cellule de la colonne E Feuil2 que l'on
cherche à remplir de la valeur D1 de la feuille 1

Ta macro relié à ton bouton 2 par l'instruction de Copy sélectionne
déjà cette cellule


With Sheets("feuil2")

'N°
Sheets("feuil1").Range("D1").Copy
.Range("E65536").End(xlUp).Offset(1, 0).PasteSpecial
Paste:=xlValues

End With

Pourquoi sélectionner une cellule déjà sélectionnée ????

Je supprimerai donc cette instruction (Target.Select)
Tout fonctionne y compris la sélection de la cellule colonne E Feuil2

Vérifies et dis moi !!!!
Avatar
frasax
Bonjour francois.forcet

Merci du tuyau ça foncitionne à merveille.
Le problème est résolu.
A une autre fois.

"" wrote:

Rebonjours à toi

Je ne vois pas l'intéret de la ligne :

Target.Select


qui vise à sélectionner la cellule de la colonne E Feuil2 que l'on
cherche à remplir de la valeur D1 de la feuille 1

Ta macro relié à ton bouton 2 par l'instruction de Copy sélectionne
déjà cette cellule


With Sheets("feuil2")

'N°
Sheets("feuil1").Range("D1").Copy
.Range("E65536").End(xlUp).Offset(1, 0).PasteSpecial
Paste:=xlValues

End With

Pourquoi sélectionner une cellule déjà sélectionnée ????

Je supprimerai donc cette instruction (Target.Select)
Tout fonctionne y compris la sélection de la cellule colonne E Feuil2

Vérifies et dis moi !!!!