|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() Inscription : mai 2002 Messages : 526 ![]() |
Bonsoir à tous,
J'ai essayé d'interdire la saisie d'un doublon avec le code suivant, mais rien d'obtenu : Code :
Target.NumberFormat = "0##"" ""##"" ""##"" ""##" Alors vous pouvez remarquez un "0" ajouter devant le mot recherché dans Plage.find Merci d'avance. |
||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
Code :
__________________
Cordialement. |
||
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : mai 2002 Messages : 526 ![]() |
Bonsoir mercatog,
Ca marche, merci. Mais comment savoir la ligne du doublon ? |
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
EDIT
J'ai changé la paramètre After et supprimé un IF non nécessaire Code :
__________________
Cordialement. |
||
|
|
00
|
|
|
#5 | ||
|
Membre du Club
![]() Inscription : mai 2002 Messages : 526 ![]() |
J'ai fait quelques modifications sur le code (Définition de la plage de recherche) et hop la sasie des doublons est permise
Code :
Merci. |
||
|
|
00
|
|
|
#6 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
Code :
__________________
Cordialement. |
||
|
|
10
|
|
|
#7 |
|
Membre du Club
![]() Inscription : mai 2002 Messages : 526 ![]() |
Bonsoir mercatog,
Pour que ça marche il faut mettre un 1 à la place de 0 dans la ligne : Code :
If Application.CountIf(Plage, Target.Value) > 1 Then Code :
Set Plage = Range("A6:A" & [A65000].End(xlUp).Offset(-1, 0).Row) Mais pourquoi la recherche ne fonctionne pas dans : Code :
Set c = Plage.Find(Target.Text, LookIn:=xlValues, lookat:=xlWhole, After:=Target.Offset(1, 0), SearchDirection:=xlNext) Code :
Set c = Range("A:A").Find(Target.Text, LookIn:=xlValues, lookat:=xlWhole, After:=Target.Offset(1, 0), SearchDirection:=xlNext) |
|
|
00
|
|
|
#8 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
Le code tel #6 fonctionne chez moi sans restriction et tu peux saisir la nouvelle donnée en bas dans une nouvelle cellule, en milieu ou en début de ta colonne A.
Sans un If non nécessaire Code :
__________________
Cordialement. |
||
|
|
00
|
|
|
#9 | ||
|
Membre du Club
![]() Inscription : mai 2002 Messages : 526 ![]() |
Bonsoir mercatog,
Ton code marche bien et je l'ai ainsi adapter en changeant la ligne : Code :
Set C = Range("A:A").Find(Target.Text, LookIn:=xlValues, LookAt:=xlWhole, After:=Target.Offset(1, 0), SearchDirection:=xlNext) Code :
Set C = Plage.Find(Target.Value, LookIn:=xlFormulas, LookAt:=xlWhole) Code :
|
||
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Retraité Inscription : avril 2011 Messages : 693 ![]() |
Bonjour,
Si tu codes Code :
Application.CountIf(Plage, Target.Value) > 0 d’où l’intérêt de coder Code :
Application.CountIf(Plage, Target.Value) > 1 |
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() Inscription : mai 2002 Messages : 526 ![]() |
Bonjour gFZT82,
> 0 ==> au moins (1) une occurence => pas de doublon > 1 ==> au moins (2) deux occurences => il y a doublon. j'ai bien compris. merci gFZT82
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com