Bonjour,
Lorsque j'ex=E9cute le code suivant en cliquant sur un bouton, situ=E9 sur
une feuille, auquel j'ai affect=E9 la macro, =E7a fontionne tr=E8s bien.
Par contre lorsque je le mets sur l'=E9v=E8nement "Change" de cette
feuille, le message "variable objet ou variable de bloc With non
d=E9finie" s'affiche quand il arrive sur Selection.Find...
Merci d'avance pour votre aide !
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vNomFeuille
Dim vValeur
Dim vCompteur
Dim vAdresseRetour
Dim vAdresse
Dim vAdresseBis
vNomFeuille =3D ActiveSheet.Name
vValeur =3D ActiveCell.Value
vAdresseRetour =3D ActiveCell.Address
Application.Goto Sheets("Controle").Range("A1")
Selection.Find(What:=3DvValeur, After:=3DActiveCell, LookIn:=3DxlValues,
LookAt _
:=3DxlWhole, SearchOrder:=3DxlByRows, SearchDirection:=3DxlNext,
MatchCase:=3D _
False, SearchFormat:=3DFalse).Activate
vAdresse =3D ActiveCell.Address
Selection.FindNext(After:=3DActiveCell).Activate
vAdresseBis =3D ActiveCell.Address
If vAdresse =3D vAdresseBis Then
GoTo fin
Else
MsgBox "Ce num=E9ro a d=E9j=E0 =E9t=E9 saisi."
End If
fin:
Sheets(vNomFeuille).Select
Range(vAdresseRetour).Select
End Sub
Je viens d'essayer de faire comme ça : Sheets("Controle").Select Range("A1").Select Range("A1:A335").Select Selection.Find(What:=vValeur, After:¬tiveCell, LookIn:=xlValues, LookAt _ :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:úlse).Activate et à ce moment j'ai ce message d'erreur : La méthode Range de la classe a échoué
Je viens d'essayer de faire comme ça :
Sheets("Controle").Select
Range("A1").Select
Range("A1:A335").Select
Selection.Find(What:=vValeur, After:=ActiveCell, LookIn:=xlValues,
LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False, SearchFormat:=False).Activate
et à ce moment j'ai ce message d'erreur :
La méthode Range de la classe a échoué
Je viens d'essayer de faire comme ça : Sheets("Controle").Select Range("A1").Select Range("A1:A335").Select Selection.Find(What:=vValeur, After:¬tiveCell, LookIn:=xlValues, LookAt _ :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:úlse).Activate et à ce moment j'ai ce message d'erreur : La méthode Range de la classe a échoué
anonymousA
Bonjour,
si j'ai compris ce que tu veux faire c'est tester si une valeur a déjà été saisie , ces valeurs étant stockées sur une feuille appelée controle. Dans ces conditions, ce qui suit devrait faire l'affaire . Attention à la troncature des lignes par le logiciel de messagerie.Il faut tout avoir sur la même ligne pour l'instruction.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not IsEmpty(Target) And Not Sheets("controle").Cells.Find(what:=Target.Value, lookat:=xlWhole, LookIn:=xlValues) Is Nothing Then MsgBox "déja saisi"
End Sub
A+
On 1 fév, 12:51, "" wrote:
Bonjour, Lorsque j'exécute le code suivant en cliquant sur un bouton, situé sur une feuille, auquel j'ai affecté la macro, ça fontionne très bien. Par contre lorsque je le mets sur l'évènement "Change" de cette feuille, le message "variable objet ou variable de bloc With non définie" s'affiche quand il arrive sur Selection.Find... Merci d'avance pour votre aide !
Private Sub Worksheet_Change(ByVal Target As Range) Dim vNomFeuille Dim vValeur Dim vCompteur Dim vAdresseRetour Dim vAdresse Dim vAdresseBis vNomFeuille = ActiveSheet.Name vValeur = ActiveCell.Value vAdresseRetour = ActiveCell.Address Application.Goto Sheets("Controle").Range("A1") Selection.Find(What:=vValeur, After:¬tiveCell, LookIn:=xlValu es, LookAt _ :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:úlse).Activate vAdresse = ActiveCell.Address Selection.FindNext(After:¬tiveCell).Activate vAdresseBis = ActiveCell.Address If vAdresse = vAdresseBis Then GoTo fin Else MsgBox "Ce numéro a déjà été saisi." End If fin: Sheets(vNomFeuille).Select Range(vAdresseRetour).Select End Sub
Bonjour,
si j'ai compris ce que tu veux faire c'est tester si une valeur a déjà
été saisie , ces valeurs étant stockées sur une feuille appelée
controle.
Dans ces conditions, ce qui suit devrait faire l'affaire . Attention à
la troncature des lignes par le logiciel de messagerie.Il faut tout
avoir sur la même ligne pour l'instruction.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not IsEmpty(Target) And Not
Sheets("controle").Cells.Find(what:=Target.Value, lookat:=xlWhole,
LookIn:=xlValues) Is Nothing Then MsgBox "déja saisi"
End Sub
A+
On 1 fév, 12:51, "n...@romandie.com" <n...@romandie.com> wrote:
Bonjour,
Lorsque j'exécute le code suivant en cliquant sur un bouton, situé sur
une feuille, auquel j'ai affecté la macro, ça fontionne très bien.
Par contre lorsque je le mets sur l'évènement "Change" de cette
feuille, le message "variable objet ou variable de bloc With non
définie" s'affiche quand il arrive sur Selection.Find...
Merci d'avance pour votre aide !
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vNomFeuille
Dim vValeur
Dim vCompteur
Dim vAdresseRetour
Dim vAdresse
Dim vAdresseBis
vNomFeuille = ActiveSheet.Name
vValeur = ActiveCell.Value
vAdresseRetour = ActiveCell.Address
Application.Goto Sheets("Controle").Range("A1")
Selection.Find(What:=vValeur, After:=ActiveCell, LookIn:=xlValu es,
LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False, SearchFormat:=False).Activate
vAdresse = ActiveCell.Address
Selection.FindNext(After:=ActiveCell).Activate
vAdresseBis = ActiveCell.Address
If vAdresse = vAdresseBis Then
GoTo fin
Else
MsgBox "Ce numéro a déjà été saisi."
End If
fin:
Sheets(vNomFeuille).Select
Range(vAdresseRetour).Select
End Sub
si j'ai compris ce que tu veux faire c'est tester si une valeur a déjà été saisie , ces valeurs étant stockées sur une feuille appelée controle. Dans ces conditions, ce qui suit devrait faire l'affaire . Attention à la troncature des lignes par le logiciel de messagerie.Il faut tout avoir sur la même ligne pour l'instruction.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not IsEmpty(Target) And Not Sheets("controle").Cells.Find(what:=Target.Value, lookat:=xlWhole, LookIn:=xlValues) Is Nothing Then MsgBox "déja saisi"
End Sub
A+
On 1 fév, 12:51, "" wrote:
Bonjour, Lorsque j'exécute le code suivant en cliquant sur un bouton, situé sur une feuille, auquel j'ai affecté la macro, ça fontionne très bien. Par contre lorsque je le mets sur l'évènement "Change" de cette feuille, le message "variable objet ou variable de bloc With non définie" s'affiche quand il arrive sur Selection.Find... Merci d'avance pour votre aide !
Private Sub Worksheet_Change(ByVal Target As Range) Dim vNomFeuille Dim vValeur Dim vCompteur Dim vAdresseRetour Dim vAdresse Dim vAdresseBis vNomFeuille = ActiveSheet.Name vValeur = ActiveCell.Value vAdresseRetour = ActiveCell.Address Application.Goto Sheets("Controle").Range("A1") Selection.Find(What:=vValeur, After:¬tiveCell, LookIn:=xlValu es, LookAt _ :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:úlse).Activate vAdresse = ActiveCell.Address Selection.FindNext(After:¬tiveCell).Activate vAdresseBis = ActiveCell.Address If vAdresse = vAdresseBis Then GoTo fin Else MsgBox "Ce numéro a déjà été saisi." End If fin: Sheets(vNomFeuille).Select Range(vAdresseRetour).Select End Sub
MichDenis
L'erreur "91" est provoquée par la méthode Find. Lorsque cette dernière ne trouve pas dans la plage indiquée l'information désirée, cela provoque une erreur 91.
Dim Rg as range On error resume next With selection Set Rg = .Find(What:=vValeur, After:¬tiveCell, LookIn:=xlValues, LookAt _ :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:úlse).Activate If not Rg is nothing then Rg.select else Msgbox "Rien trouvé." end if
a écrit dans le message de news:
Bonjour, Lorsque j'exécute le code suivant en cliquant sur un bouton, situé sur une feuille, auquel j'ai affecté la macro, ça fontionne très bien. Par contre lorsque je le mets sur l'évènement "Change" de cette feuille, le message "variable objet ou variable de bloc With non définie" s'affiche quand il arrive sur Selection.Find... Merci d'avance pour votre aide !
Private Sub Worksheet_Change(ByVal Target As Range) Dim vNomFeuille Dim vValeur Dim vCompteur Dim vAdresseRetour Dim vAdresse Dim vAdresseBis vNomFeuille = ActiveSheet.Name vValeur = ActiveCell.Value vAdresseRetour = ActiveCell.Address Application.Goto Sheets("Controle").Range("A1") Selection.Find(What:=vValeur, After:¬tiveCell, LookIn:=xlValues, LookAt _ :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:úlse).Activate vAdresse = ActiveCell.Address Selection.FindNext(After:¬tiveCell).Activate vAdresseBis = ActiveCell.Address If vAdresse = vAdresseBis Then GoTo fin Else MsgBox "Ce numéro a déjà été saisi." End If fin: Sheets(vNomFeuille).Select Range(vAdresseRetour).Select End Sub
L'erreur "91" est provoquée par la méthode Find. Lorsque cette dernière
ne trouve pas dans la plage indiquée l'information désirée, cela provoque
une erreur 91.
Dim Rg as range
On error resume next
With selection
Set Rg = .Find(What:=vValeur, After:¬tiveCell, LookIn:=xlValues, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:úlse).Activate
If not Rg is nothing then
Rg.select
else
Msgbox "Rien trouvé."
end if
<nuit6@romandie.com> a écrit dans le message de news:
1170330710.100058.195960@v45g2000cwv.googlegroups.com...
Bonjour,
Lorsque j'exécute le code suivant en cliquant sur un bouton, situé sur
une feuille, auquel j'ai affecté la macro, ça fontionne très bien.
Par contre lorsque je le mets sur l'évènement "Change" de cette
feuille, le message "variable objet ou variable de bloc With non
définie" s'affiche quand il arrive sur Selection.Find...
Merci d'avance pour votre aide !
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vNomFeuille
Dim vValeur
Dim vCompteur
Dim vAdresseRetour
Dim vAdresse
Dim vAdresseBis
vNomFeuille = ActiveSheet.Name
vValeur = ActiveCell.Value
vAdresseRetour = ActiveCell.Address
Application.Goto Sheets("Controle").Range("A1")
Selection.Find(What:=vValeur, After:¬tiveCell, LookIn:=xlValues,
LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False, SearchFormat:úlse).Activate
vAdresse = ActiveCell.Address
Selection.FindNext(After:¬tiveCell).Activate
vAdresseBis = ActiveCell.Address
If vAdresse = vAdresseBis Then
GoTo fin
Else
MsgBox "Ce numéro a déjà été saisi."
End If
fin:
Sheets(vNomFeuille).Select
Range(vAdresseRetour).Select
End Sub
L'erreur "91" est provoquée par la méthode Find. Lorsque cette dernière ne trouve pas dans la plage indiquée l'information désirée, cela provoque une erreur 91.
Dim Rg as range On error resume next With selection Set Rg = .Find(What:=vValeur, After:¬tiveCell, LookIn:=xlValues, LookAt _ :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:úlse).Activate If not Rg is nothing then Rg.select else Msgbox "Rien trouvé." end if
a écrit dans le message de news:
Bonjour, Lorsque j'exécute le code suivant en cliquant sur un bouton, situé sur une feuille, auquel j'ai affecté la macro, ça fontionne très bien. Par contre lorsque je le mets sur l'évènement "Change" de cette feuille, le message "variable objet ou variable de bloc With non définie" s'affiche quand il arrive sur Selection.Find... Merci d'avance pour votre aide !
Private Sub Worksheet_Change(ByVal Target As Range) Dim vNomFeuille Dim vValeur Dim vCompteur Dim vAdresseRetour Dim vAdresse Dim vAdresseBis vNomFeuille = ActiveSheet.Name vValeur = ActiveCell.Value vAdresseRetour = ActiveCell.Address Application.Goto Sheets("Controle").Range("A1") Selection.Find(What:=vValeur, After:¬tiveCell, LookIn:=xlValues, LookAt _ :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:úlse).Activate vAdresse = ActiveCell.Address Selection.FindNext(After:¬tiveCell).Activate vAdresseBis = ActiveCell.Address If vAdresse = vAdresseBis Then GoTo fin Else MsgBox "Ce numéro a déjà été saisi." End If fin: Sheets(vNomFeuille).Select Range(vAdresseRetour).Select End Sub
nuit6
Merci pour vos réponses ! Merci pour ton code anonymousA. Le problème c'est que dans la feuille "controle" ce sont les valeurs contenues dans plusieurs autres feuilles (collage avec liaison). Donc quand je rentre une valeur dans une de ces feuilles, il y a forcément le message "déjà saisi" puisqu'il trouve la valeur qui vient d'être saisie. Comment faire pour chercher toutes les occurrences ? Merci d'avance !
Merci pour vos réponses !
Merci pour ton code anonymousA. Le problème c'est que dans la feuille
"controle" ce sont les valeurs contenues dans plusieurs autres
feuilles (collage avec liaison). Donc quand je rentre une valeur dans
une de ces feuilles, il y a forcément le message "déjà saisi"
puisqu'il trouve la valeur qui vient d'être saisie. Comment faire pour
chercher toutes les occurrences ? Merci d'avance !
Merci pour vos réponses ! Merci pour ton code anonymousA. Le problème c'est que dans la feuille "controle" ce sont les valeurs contenues dans plusieurs autres feuilles (collage avec liaison). Donc quand je rentre une valeur dans une de ces feuilles, il y a forcément le message "déjà saisi" puisqu'il trouve la valeur qui vient d'être saisie. Comment faire pour chercher toutes les occurrences ? Merci d'avance !
anonymousA
Là , je ne suis plus sur de tout comprendre. Peux-tu réexpliquer exactement ce que tu veux. Le code que je t'ai envoyé ne fait que deux choses: -il vérifie que ce que tu saisis dans une feuille donnée ( celle qui contient dans son module le code ) n'existe pas déjà dans la feuille donnée. -il te permet d'effacer des éléments dans ta feuille de base sans envoyer le message "Déjà saisi".
A+
On 2 fév, 12:48, "" wrote:
Merci pour vos réponses ! Merci pour ton code anonymousA. Le problème c'est que dans la feuille "controle" ce sont les valeurs contenues dans plusieurs autres feuilles (collage avec liaison). Donc quand je rentre une valeur dans une de ces feuilles, il y a forcément le message "déjà saisi" puisqu'il trouve la valeur qui vient d'être saisie. Comment faire pour chercher toutes les occurrences ? Merci d'avance !
Là , je ne suis plus sur de tout comprendre. Peux-tu réexpliquer
exactement ce que tu veux.
Le code que je t'ai envoyé ne fait que deux choses:
-il vérifie que ce que tu saisis dans une feuille donnée ( celle qui
contient dans son module le code ) n'existe pas déjà dans la feuille
donnée.
-il te permet d'effacer des éléments dans ta feuille de base sans
envoyer le message "Déjà saisi".
A+
On 2 fév, 12:48, "n...@romandie.com" <n...@romandie.com> wrote:
Merci pour vos réponses !
Merci pour ton code anonymousA. Le problème c'est que dans la feuille
"controle" ce sont les valeurs contenues dans plusieurs autres
feuilles (collage avec liaison). Donc quand je rentre une valeur dans
une de ces feuilles, il y a forcément le message "déjà saisi"
puisqu'il trouve la valeur qui vient d'être saisie. Comment faire pour
chercher toutes les occurrences ? Merci d'avance !
Là , je ne suis plus sur de tout comprendre. Peux-tu réexpliquer exactement ce que tu veux. Le code que je t'ai envoyé ne fait que deux choses: -il vérifie que ce que tu saisis dans une feuille donnée ( celle qui contient dans son module le code ) n'existe pas déjà dans la feuille donnée. -il te permet d'effacer des éléments dans ta feuille de base sans envoyer le message "Déjà saisi".
A+
On 2 fév, 12:48, "" wrote:
Merci pour vos réponses ! Merci pour ton code anonymousA. Le problème c'est que dans la feuille "controle" ce sont les valeurs contenues dans plusieurs autres feuilles (collage avec liaison). Donc quand je rentre une valeur dans une de ces feuilles, il y a forcément le message "déjà saisi" puisqu'il trouve la valeur qui vient d'être saisie. Comment faire pour chercher toutes les occurrences ? Merci d'avance !
nuit6
Alors voilà : J'ai un classeur avec plusieurs feuilles et je voudrais saisir des nombres dans ces différentes feuilles sans entrer de doublon. J'ai donc rajouter une feuille "controle" en collant avec liaison les cellules susceptibles de recevoir des données. Quand je rentre un nombre je voudrais que le code vérifie dans la feuille "controle" s'il a déjà été saisi. Avec ce que tu m'as envoyé il le trouve forcé ment une fois puisque c'est celui que je viens d'entrer. Je souhaiterais donc savoir comment faire un Next. Merci d'avance !
Alors voilà :
J'ai un classeur avec plusieurs feuilles et je voudrais saisir des
nombres dans ces différentes feuilles sans entrer de doublon. J'ai
donc rajouter une feuille "controle" en collant avec liaison les
cellules susceptibles de recevoir des données. Quand je rentre un
nombre je voudrais que le code vérifie dans la feuille "controle" s'il
a déjà été saisi. Avec ce que tu m'as envoyé il le trouve forcé ment
une fois puisque c'est celui que je viens d'entrer. Je souhaiterais
donc savoir comment faire un Next.
Merci d'avance !
Alors voilà : J'ai un classeur avec plusieurs feuilles et je voudrais saisir des nombres dans ces différentes feuilles sans entrer de doublon. J'ai donc rajouter une feuille "controle" en collant avec liaison les cellules susceptibles de recevoir des données. Quand je rentre un nombre je voudrais que le code vérifie dans la feuille "controle" s'il a déjà été saisi. Avec ce que tu m'as envoyé il le trouve forcé ment une fois puisque c'est celui que je viens d'entrer. Je souhaiterais donc savoir comment faire un Next. Merci d'avance !
JB
On 1 fév, 12:51, "" wrote:
Bonjour, Lorsque j'exécute le code suivant en cliquant sur un bouton, situé sur une feuille, auquel j'ai affecté la macro, ça fontionne très bien. Par contre lorsque je le mets sur l'évènement "Change" de cette feuille, le message "variable objet ou variable de bloc With non définie" s'affiche quand il arrive sur Selection.Find... Merci d'avance pour votre aide !
Private Sub Worksheet_Change(ByVal Target As Range) Dim vNomFeuille Dim vValeur Dim vCompteur Dim vAdresseRetour Dim vAdresse Dim vAdresseBis vNomFeuille = ActiveSheet.Name vValeur = ActiveCell.Value vAdresseRetour = ActiveCell.Address Application.Goto Sheets("Controle").Range("A1") Selection.Find(What:=vValeur, After:¬tiveCell, LookIn:=xlValu es, LookAt _ :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:úlse).Activate vAdresse = ActiveCell.Address Selection.FindNext(After:¬tiveCell).Activate vAdresseBis = ActiveCell.Address If vAdresse = vAdresseBis Then GoTo fin Else MsgBox "Ce numéro a déjà été saisi." End If fin: Sheets(vNomFeuille).Select Range(vAdresseRetour).Select End Sub
Bonjour,
ListeContole est le nom de champ de la feuille Controle:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Count = 1 Then If Application.CountIf([ListeControle], Target) > 1 And Target <> "" Then MsgBox "Doublon" 'Target = Empty End If End If End Sub
http://cjoint.com/?cfkfz1UlPB
Cordialement JB
On 1 fév, 12:51, "n...@romandie.com" <n...@romandie.com> wrote:
Bonjour,
Lorsque j'exécute le code suivant en cliquant sur un bouton, situé sur
une feuille, auquel j'ai affecté la macro, ça fontionne très bien.
Par contre lorsque je le mets sur l'évènement "Change" de cette
feuille, le message "variable objet ou variable de bloc With non
définie" s'affiche quand il arrive sur Selection.Find...
Merci d'avance pour votre aide !
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vNomFeuille
Dim vValeur
Dim vCompteur
Dim vAdresseRetour
Dim vAdresse
Dim vAdresseBis
vNomFeuille = ActiveSheet.Name
vValeur = ActiveCell.Value
vAdresseRetour = ActiveCell.Address
Application.Goto Sheets("Controle").Range("A1")
Selection.Find(What:=vValeur, After:=ActiveCell, LookIn:=xlValu es,
LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False, SearchFormat:=False).Activate
vAdresse = ActiveCell.Address
Selection.FindNext(After:=ActiveCell).Activate
vAdresseBis = ActiveCell.Address
If vAdresse = vAdresseBis Then
GoTo fin
Else
MsgBox "Ce numéro a déjà été saisi."
End If
fin:
Sheets(vNomFeuille).Select
Range(vAdresseRetour).Select
End Sub
Bonjour,
ListeContole est le nom de champ de la feuille Controle:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
If Application.CountIf([ListeControle], Target) > 1 And Target <> ""
Then
MsgBox "Doublon"
'Target = Empty
End If
End If
End Sub
Bonjour, Lorsque j'exécute le code suivant en cliquant sur un bouton, situé sur une feuille, auquel j'ai affecté la macro, ça fontionne très bien. Par contre lorsque je le mets sur l'évènement "Change" de cette feuille, le message "variable objet ou variable de bloc With non définie" s'affiche quand il arrive sur Selection.Find... Merci d'avance pour votre aide !
Private Sub Worksheet_Change(ByVal Target As Range) Dim vNomFeuille Dim vValeur Dim vCompteur Dim vAdresseRetour Dim vAdresse Dim vAdresseBis vNomFeuille = ActiveSheet.Name vValeur = ActiveCell.Value vAdresseRetour = ActiveCell.Address Application.Goto Sheets("Controle").Range("A1") Selection.Find(What:=vValeur, After:¬tiveCell, LookIn:=xlValu es, LookAt _ :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:úlse).Activate vAdresse = ActiveCell.Address Selection.FindNext(After:¬tiveCell).Activate vAdresseBis = ActiveCell.Address If vAdresse = vAdresseBis Then GoTo fin Else MsgBox "Ce numéro a déjà été saisi." End If fin: Sheets(vNomFeuille).Select Range(vAdresseRetour).Select End Sub
Bonjour,
ListeContole est le nom de champ de la feuille Controle:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Count = 1 Then If Application.CountIf([ListeControle], Target) > 1 And Target <> "" Then MsgBox "Doublon" 'Target = Empty End If End If End Sub