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

SOS...doublons

5 réponses
Avatar
charlyp
bonsoir à tous,
voilà...

j'inscrits des NOMS dans les cellules au fur et à mesure de A1 à A750, et
par exemple quand j'écrirai Durand en A681, et bien je souhaiterai qu'un
évènement se produise (par exemple le fond de la cellule deviendrai rouge)
si le même nom était déjà inscrit dans une des cellules avant.
Ceci afin d'éviter les doublons et de vérifier si ce n'en est pas un.

Et bien sur si ce n'en est pas un (par appui sur enter), je voudrai que le
fond rouge ne soit plus )

merci d'avance
CharlyP

5 réponses

Avatar
Didier NOVARIN
Bonsoir,
Avec une MEFC (Mise en forme conditionnelle)
Après sélection de la plage de cellule
exemple saisir =NB.SI(A$1:A$750;A1)>1
Choisir le format que tu veux
Bonne soirée
Didier


"charlyp" a écrit dans le
message de news: 46fbedf0$0$27367$
bonsoir à tous,
voilà...

j'inscrits des NOMS dans les cellules au fur et à mesure de A1 à A750, et
par exemple quand j'écrirai Durand en A681, et bien je souhaiterai qu'un
évènement se produise (par exemple le fond de la cellule deviendrai rouge)
si le même nom était déjà inscrit dans une des cellules avant.
Ceci afin d'éviter les doublons et de vérifier si ce n'en est pas un.

Et bien sur si ce n'en est pas un (par appui sur enter), je voudrai que le
fond rouge ne soit plus )

merci d'avance
CharlyP



Avatar
JB
Bonsoir,

Vérifie si doublon à la saisie:

http://cjoint.com/?jBuQdqbcdK

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("monchamp"), Target) Is Nothing And
Target.Count = 1 Then
For Each c In Range("monchamp")
If UCase(c.Value) = UCase(Target.Value) And c.Row <>
Target.Row And c.Value <> Empty Then
réponse = MsgBox("Doublon en :" & c.Address & Chr$(10) & _
"Voulez-vous le garder ?", vbYesNo + vbInformation,
"DETECTION DOUBLON")
If réponse = vbNo Then
Application.EnableEvents = False
Target.Value = Empty
Target.Select
Application.EnableEvents = True
End If
End If
Next c
End If
End Sub

MFC en A1:
=NB.SI(monChamp;A1)>1

JB
http://boisgontierjacques.free.fr


On 27 sep, 19:53, "charlyp" <jean-
wrote:
bonsoir à tous,
voilà...

j'inscrits des NOMS dans les cellules au fur et à mesure de A1 à A750 , et
par exemple quand j'écrirai Durand en A681, et bien je souhaiterai qu'un
évènement se produise (par exemple le fond de la cellule deviendrai r ouge)
si le même nom était déjà inscrit dans une des cellules avant.
Ceci afin d'éviter les doublons et de vérifier si ce n'en est pas un.

Et bien sur si ce n'en est pas un (par appui sur enter), je voudrai que le
fond rouge ne soit plus )

merci d'avance
CharlyP


Avatar
JB
Sans VBA:

-Sélectionner A1:A750
-Données/Validation/Perso
-=NB.SI($A$1:$A$750;A1)=1

JB





On 27 sep, 20:42, JB wrote:
Bonsoir,

Vérifie si doublon à la saisie:

http://cjoint.com/?jBuQdqbcdK

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("monchamp"), Target) Is Nothing And
Target.Count = 1 Then
For Each c In Range("monchamp")
If UCase(c.Value) = UCase(Target.Value) And c.Row <>
Target.Row And c.Value <> Empty Then
réponse = MsgBox("Doublon en :" & c.Address & Chr$(10) & _
"Voulez-vous le garder ?", vbYesNo + vbInformation,
"DETECTION DOUBLON")
If réponse = vbNo Then
Application.EnableEvents = False
Target.Value = Empty
Target.Select
Application.EnableEvents = True
End If
End If
Next c
End If
End Sub

MFC en A1:
=NB.SI(monChamp;A1)>1

JBhttp://boisgontierjacques.free.fr

On 27 sep, 19:53, "charlyp" <jean-



wrote:
bonsoir à tous,
voilà...

j'inscrits des NOMS dans les cellules au fur et à mesure de A1 à A7 50, et
par exemple quand j'écrirai Durand en A681, et bien je souhaiterai qu 'un
évènement se produise (par exemple le fond de la cellule deviendrai rouge)
si le même nom était déjà inscrit dans une des cellules avant.
Ceci afin d'éviter les doublons et de vérifier si ce n'en est pas u n.

Et bien sur si ce n'en est pas un (par appui sur enter), je voudrai que le
fond rouge ne soit plus )

merci d'avance
CharlyP- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
charlyp
Merci à tous je vais essayer tout ça
charlyP

"JB" a écrit dans le message de news:

Sans VBA:

-Sélectionner A1:A750
-Données/Validation/Perso
-=NB.SI($A$1:$A$750;A1)=1

JB





On 27 sep, 20:42, JB wrote:
Bonsoir,

Vérifie si doublon à la saisie:

http://cjoint.com/?jBuQdqbcdK

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("monchamp"), Target) Is Nothing And
Target.Count = 1 Then
For Each c In Range("monchamp")
If UCase(c.Value) = UCase(Target.Value) And c.Row <>
Target.Row And c.Value <> Empty Then
réponse = MsgBox("Doublon en :" & c.Address & Chr$(10) & _
"Voulez-vous le garder ?", vbYesNo + vbInformation,
"DETECTION DOUBLON")
If réponse = vbNo Then
Application.EnableEvents = False
Target.Value = Empty
Target.Select
Application.EnableEvents = True
End If
End If
Next c
End If
End Sub

MFC en A1:
=NB.SI(monChamp;A1)>1

JBhttp://boisgontierjacques.free.fr

On 27 sep, 19:53, "charlyp" <jean-



wrote:
bonsoir à tous,
voilà...

j'inscrits des NOMS dans les cellules au fur et à mesure de A1 à A750,
et
par exemple quand j'écrirai Durand en A681, et bien je souhaiterai qu'un
évènement se produise (par exemple le fond de la cellule deviendrai
rouge)
si le même nom était déjà inscrit dans une des cellules avant.
Ceci afin d'éviter les doublons et de vérifier si ce n'en est pas un.

Et bien sur si ce n'en est pas un (par appui sur enter), je voudrai que
le
fond rouge ne soit plus )

merci d'avance
CharlyP- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
MichDenis
Une alternative qui évite de boucler ...!

'----------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Rg As Range
Set Rg = Range("A1:A" & Range("A65536").End(xlUp).Row)
If Not Intersect(Rg, Target) Is Nothing Then
If Application.CountIf(Target.Columns(1), "") = _
Target.Columns(1).Cells.Count Then Exit Sub
If Application.CountIf(Rg, Target(1, 1)) > 1 Then
If MsgBox("Doublon en :" & Target.Address & Chr$(10) & _
"Voulez-vous le garder ?", vbYesNo + vbInformation, _
"DETECTION DOUBLON") = vbNo Then
Application.EnableEvents = False
Target.Cells = Empty
Target.Cells.Select
Application.EnableEvents = True
End If
End If
End If

End Sub
'----------------------------------



"charlyp" a écrit dans le message de news:
46fbedf0$0$27367$
bonsoir à tous,
voilà...

j'inscrits des NOMS dans les cellules au fur et à mesure de A1 à A750, et
par exemple quand j'écrirai Durand en A681, et bien je souhaiterai qu'un
évènement se produise (par exemple le fond de la cellule deviendrai rouge)
si le même nom était déjà inscrit dans une des cellules avant.
Ceci afin d'éviter les doublons et de vérifier si ce n'en est pas un.

Et bien sur si ce n'en est pas un (par appui sur enter), je voudrai que le
fond rouge ne soit plus )

merci d'avance
CharlyP