Il y a une petite coquille dans le If remplace le tout
par ceci ... il manque le Else ...
If Application.WorksheetFunction.CountIf(Range("A:A"), c) = 1 Then
'modification de la couleur de fond
c.Interior.Color = vbRed
Else
c.Interior.ColorIndex = xlAutomatic
End If
"MichDenis" a écrit dans le message de groupe de
discussion :
#
En vba, tu as ceci :
Tu colles ce qui suit dans le module feuille où l'action se déroule.
'---------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Target, Range("A:A"))
If Not Rg Is Nothing Then
For Each c In Rg
If Application.WorksheetFunction.CountIf(Range("A:A"), c) = 1 Then
'modification de la couleur de fond
c.Interior.Color = vbRed
End If
Next
End If
End Sub
'---------------------------------
"GVA" a écrit dans le message de groupe de discussion :
Merci, j'ai testé mais ça toune pas comme je veux, car en cas d'insertion
de
ligne la condition n'est pas reprise.
J'ai trouvé ça qui fonctionne presque!
Sub doubles()
Dim Collec As New Collection, Cell As Range, Plage As Range
On Error Resume Next
Set Plage = Range("C2:C5000")
'If IsEmpty(Plage) Then Exit Sub
For Each Cell In Plage
If Cell.Value <> "" Then
Collec.Add Cell.Value, CStr(Cell.Value)
If Err <> 0 Then
Err.Clear
Cell.Interior.ColorIndex = 3
Else
Cell.Interior.ColorIndex = 4
End If
End If
Next Cell
End Sub
Presque car la première fois qu'il trouve une valeur il la considère come
unique. donc ça fait pas mon affaire.
En fait il colorie en rouge les doublons.
"Jacky" a écrit dans le message de news:Re...10000 10001 et 10002 sont uniques donc colorés:
Dans ce cas la proposition de MichDenis est ce qu'il te faut.
--
Salutations
JJ
"GVA" a écrit dans le message de news:Bonjour Jacky,
Merci pour la réponse, c'est certain que si je me trompe dans mon
exemple
ça va pas le faire
voici la correction
A B
Dossier Séq
10000 1
10001 1
10002 1
10003 1
10003 2
10000 10001 et 10002 sont uniques donc colorés:
10003 y figure deux fois donc pas coloré.
Merci du coup de main
"Jacky" a écrit dans le message de news:
%Bonjour,
Peux-tu préciser ta demande par un exemple
car si se sont les valeurs uniques de la colonne A ceci est faux(par exemple 1002 ci-dessus ) soient colorées.
10000 , 10001 et 10002 sont uniques
???
Ou si tu souhaites les valeurs unique colonne A ayant une séquence
unique (Colonne B)
Dans ce cas
10000 et 10002
--
Salutations
JJ
"GVA" a écrit dans le message de news:
uZd2fy$Bonjour,
j'ai dans la colonne A des numéros de dossier et dans la colonne B des
séquences de 1 à x.
A B
Dossier Séq
10000 1
10001 2
10002 1
10003 1
10003 2
Je souhaite que les cellules de la colonne A, contenant une valeur
unique (par exemple 1002 ci-dessus ) soient colorées.
Une idée :? Merci
Il y a une petite coquille dans le If remplace le tout
par ceci ... il manque le Else ...
If Application.WorksheetFunction.CountIf(Range("A:A"), c) = 1 Then
'modification de la couleur de fond
c.Interior.Color = vbRed
Else
c.Interior.ColorIndex = xlAutomatic
End If
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de groupe de
discussion :
#JdQeaBnJHA.5412@TK2MSFTNGP04.phx.gbl...
En vba, tu as ceci :
Tu colles ce qui suit dans le module feuille où l'action se déroule.
'---------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Target, Range("A:A"))
If Not Rg Is Nothing Then
For Each c In Rg
If Application.WorksheetFunction.CountIf(Range("A:A"), c) = 1 Then
'modification de la couleur de fond
c.Interior.Color = vbRed
End If
Next
End If
End Sub
'---------------------------------
"GVA" <mail@mail.com> a écrit dans le message de groupe de discussion :
ereDPEBnJHA.5832@TK2MSFTNGP06.phx.gbl...
Merci, j'ai testé mais ça toune pas comme je veux, car en cas d'insertion
de
ligne la condition n'est pas reprise.
J'ai trouvé ça qui fonctionne presque!
Sub doubles()
Dim Collec As New Collection, Cell As Range, Plage As Range
On Error Resume Next
Set Plage = Range("C2:C5000")
'If IsEmpty(Plage) Then Exit Sub
For Each Cell In Plage
If Cell.Value <> "" Then
Collec.Add Cell.Value, CStr(Cell.Value)
If Err <> 0 Then
Err.Clear
Cell.Interior.ColorIndex = 3
Else
Cell.Interior.ColorIndex = 4
End If
End If
Next Cell
End Sub
Presque car la première fois qu'il trouve une valeur il la considère come
unique. donc ça fait pas mon affaire.
En fait il colorie en rouge les doublons.
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
OY1mr5AnJHA.5520@TK2MSFTNGP06.phx.gbl...
Re...
10000 10001 et 10002 sont uniques donc colorés:
Dans ce cas la proposition de MichDenis est ce qu'il te faut.
--
Salutations
JJ
"GVA" <mail@mail.com> a écrit dans le message de news:
uYfwiwAnJHA.3876@TK2MSFTNGP02.phx.gbl...
Bonjour Jacky,
Merci pour la réponse, c'est certain que si je me trompe dans mon
exemple
ça va pas le faire
voici la correction
A B
Dossier Séq
10000 1
10001 1
10002 1
10003 1
10003 2
10000 10001 et 10002 sont uniques donc colorés:
10003 y figure deux fois donc pas coloré.
Merci du coup de main
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
%237QKzOAnJHA.6060@TK2MSFTNGP05.phx.gbl...
Bonjour,
Peux-tu préciser ta demande par un exemple
car si se sont les valeurs uniques de la colonne A ceci est faux
(par exemple 1002 ci-dessus ) soient colorées.
10000 , 10001 et 10002 sont uniques
???
Ou si tu souhaites les valeurs unique colonne A ayant une séquence
unique (Colonne B)
Dans ce cas
10000 et 10002
--
Salutations
JJ
"GVA" <mail@mail.com> a écrit dans le message de news:
uZd2fy$mJHA.1252@TK2MSFTNGP03.phx.gbl...
Bonjour,
j'ai dans la colonne A des numéros de dossier et dans la colonne B des
séquences de 1 à x.
A B
Dossier Séq
10000 1
10001 2
10002 1
10003 1
10003 2
Je souhaite que les cellules de la colonne A, contenant une valeur
unique (par exemple 1002 ci-dessus ) soient colorées.
Une idée :? Merci
Il y a une petite coquille dans le If remplace le tout
par ceci ... il manque le Else ...
If Application.WorksheetFunction.CountIf(Range("A:A"), c) = 1 Then
'modification de la couleur de fond
c.Interior.Color = vbRed
Else
c.Interior.ColorIndex = xlAutomatic
End If
"MichDenis" a écrit dans le message de groupe de
discussion :
#
En vba, tu as ceci :
Tu colles ce qui suit dans le module feuille où l'action se déroule.
'---------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Target, Range("A:A"))
If Not Rg Is Nothing Then
For Each c In Rg
If Application.WorksheetFunction.CountIf(Range("A:A"), c) = 1 Then
'modification de la couleur de fond
c.Interior.Color = vbRed
End If
Next
End If
End Sub
'---------------------------------
"GVA" a écrit dans le message de groupe de discussion :
Merci, j'ai testé mais ça toune pas comme je veux, car en cas d'insertion
de
ligne la condition n'est pas reprise.
J'ai trouvé ça qui fonctionne presque!
Sub doubles()
Dim Collec As New Collection, Cell As Range, Plage As Range
On Error Resume Next
Set Plage = Range("C2:C5000")
'If IsEmpty(Plage) Then Exit Sub
For Each Cell In Plage
If Cell.Value <> "" Then
Collec.Add Cell.Value, CStr(Cell.Value)
If Err <> 0 Then
Err.Clear
Cell.Interior.ColorIndex = 3
Else
Cell.Interior.ColorIndex = 4
End If
End If
Next Cell
End Sub
Presque car la première fois qu'il trouve une valeur il la considère come
unique. donc ça fait pas mon affaire.
En fait il colorie en rouge les doublons.
"Jacky" a écrit dans le message de news:Re...10000 10001 et 10002 sont uniques donc colorés:
Dans ce cas la proposition de MichDenis est ce qu'il te faut.
--
Salutations
JJ
"GVA" a écrit dans le message de news:Bonjour Jacky,
Merci pour la réponse, c'est certain que si je me trompe dans mon
exemple
ça va pas le faire
voici la correction
A B
Dossier Séq
10000 1
10001 1
10002 1
10003 1
10003 2
10000 10001 et 10002 sont uniques donc colorés:
10003 y figure deux fois donc pas coloré.
Merci du coup de main
"Jacky" a écrit dans le message de news:
%Bonjour,
Peux-tu préciser ta demande par un exemple
car si se sont les valeurs uniques de la colonne A ceci est faux(par exemple 1002 ci-dessus ) soient colorées.
10000 , 10001 et 10002 sont uniques
???
Ou si tu souhaites les valeurs unique colonne A ayant une séquence
unique (Colonne B)
Dans ce cas
10000 et 10002
--
Salutations
JJ
"GVA" a écrit dans le message de news:
uZd2fy$Bonjour,
j'ai dans la colonne A des numéros de dossier et dans la colonne B des
séquences de 1 à x.
A B
Dossier Séq
10000 1
10001 2
10002 1
10003 1
10003 2
Je souhaite que les cellules de la colonne A, contenant une valeur
unique (par exemple 1002 ci-dessus ) soient colorées.
Une idée :? Merci
OUPs, la proposition faite est inexacte dans le cas où tu supprimes
des données... il se peut alors que des cellules déjà saisies se
retrouvent comme valeur unique dans la colonne.
Il y a aussi la situation... si tu avais une valeur unique et que
tu ajoutes plus loin dans la colonne la même valeur, la procédure
n'a aucun effet sur la première occurrence du doublon et le
format continue à s'appliquer... ce n'est pas probablement ce que tu
désires !
Conclusion : oublie ce que j'ai proposé.
"GVA" a écrit dans le message de groupe de discussion :
Merci, j'ai testé mais ça toune pas comme je veux, car en cas d'insertion
de
ligne la condition n'est pas reprise.
J'ai trouvé ça qui fonctionne presque!
Sub doubles()
Dim Collec As New Collection, Cell As Range, Plage As Range
On Error Resume Next
Set Plage = Range("C2:C5000")
'If IsEmpty(Plage) Then Exit Sub
For Each Cell In Plage
If Cell.Value <> "" Then
Collec.Add Cell.Value, CStr(Cell.Value)
If Err <> 0 Then
Err.Clear
Cell.Interior.ColorIndex = 3
Else
Cell.Interior.ColorIndex = 4
End If
End If
Next Cell
End Sub
Presque car la première fois qu'il trouve une valeur il la considère come
unique. donc ça fait pas mon affaire.
En fait il colorie en rouge les doublons.
"Jacky" a écrit dans le message de news:Re...10000 10001 et 10002 sont uniques donc colorés:
Dans ce cas la proposition de MichDenis est ce qu'il te faut.
--
Salutations
JJ
"GVA" a écrit dans le message de news:Bonjour Jacky,
Merci pour la réponse, c'est certain que si je me trompe dans mon
exemple
ça va pas le faire
voici la correction
A B
Dossier Séq
10000 1
10001 1
10002 1
10003 1
10003 2
10000 10001 et 10002 sont uniques donc colorés:
10003 y figure deux fois donc pas coloré.
Merci du coup de main
"Jacky" a écrit dans le message de news:
%Bonjour,
Peux-tu préciser ta demande par un exemple
car si se sont les valeurs uniques de la colonne A ceci est faux(par exemple 1002 ci-dessus ) soient colorées.
10000 , 10001 et 10002 sont uniques
???
Ou si tu souhaites les valeurs unique colonne A ayant une séquence
unique (Colonne B)
Dans ce cas
10000 et 10002
--
Salutations
JJ
"GVA" a écrit dans le message de news:
uZd2fy$Bonjour,
j'ai dans la colonne A des numéros de dossier et dans la colonne B des
séquences de 1 à x.
A B
Dossier Séq
10000 1
10001 2
10002 1
10003 1
10003 2
Je souhaite que les cellules de la colonne A, contenant une valeur
unique (par exemple 1002 ci-dessus ) soient colorées.
Une idée :? Merci
OUPs, la proposition faite est inexacte dans le cas où tu supprimes
des données... il se peut alors que des cellules déjà saisies se
retrouvent comme valeur unique dans la colonne.
Il y a aussi la situation... si tu avais une valeur unique et que
tu ajoutes plus loin dans la colonne la même valeur, la procédure
n'a aucun effet sur la première occurrence du doublon et le
format continue à s'appliquer... ce n'est pas probablement ce que tu
désires !
Conclusion : oublie ce que j'ai proposé.
"GVA" <mail@mail.com> a écrit dans le message de groupe de discussion :
ereDPEBnJHA.5832@TK2MSFTNGP06.phx.gbl...
Merci, j'ai testé mais ça toune pas comme je veux, car en cas d'insertion
de
ligne la condition n'est pas reprise.
J'ai trouvé ça qui fonctionne presque!
Sub doubles()
Dim Collec As New Collection, Cell As Range, Plage As Range
On Error Resume Next
Set Plage = Range("C2:C5000")
'If IsEmpty(Plage) Then Exit Sub
For Each Cell In Plage
If Cell.Value <> "" Then
Collec.Add Cell.Value, CStr(Cell.Value)
If Err <> 0 Then
Err.Clear
Cell.Interior.ColorIndex = 3
Else
Cell.Interior.ColorIndex = 4
End If
End If
Next Cell
End Sub
Presque car la première fois qu'il trouve une valeur il la considère come
unique. donc ça fait pas mon affaire.
En fait il colorie en rouge les doublons.
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
OY1mr5AnJHA.5520@TK2MSFTNGP06.phx.gbl...
Re...
10000 10001 et 10002 sont uniques donc colorés:
Dans ce cas la proposition de MichDenis est ce qu'il te faut.
--
Salutations
JJ
"GVA" <mail@mail.com> a écrit dans le message de news:
uYfwiwAnJHA.3876@TK2MSFTNGP02.phx.gbl...
Bonjour Jacky,
Merci pour la réponse, c'est certain que si je me trompe dans mon
exemple
ça va pas le faire
voici la correction
A B
Dossier Séq
10000 1
10001 1
10002 1
10003 1
10003 2
10000 10001 et 10002 sont uniques donc colorés:
10003 y figure deux fois donc pas coloré.
Merci du coup de main
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
%237QKzOAnJHA.6060@TK2MSFTNGP05.phx.gbl...
Bonjour,
Peux-tu préciser ta demande par un exemple
car si se sont les valeurs uniques de la colonne A ceci est faux
(par exemple 1002 ci-dessus ) soient colorées.
10000 , 10001 et 10002 sont uniques
???
Ou si tu souhaites les valeurs unique colonne A ayant une séquence
unique (Colonne B)
Dans ce cas
10000 et 10002
--
Salutations
JJ
"GVA" <mail@mail.com> a écrit dans le message de news:
uZd2fy$mJHA.1252@TK2MSFTNGP03.phx.gbl...
Bonjour,
j'ai dans la colonne A des numéros de dossier et dans la colonne B des
séquences de 1 à x.
A B
Dossier Séq
10000 1
10001 2
10002 1
10003 1
10003 2
Je souhaite que les cellules de la colonne A, contenant une valeur
unique (par exemple 1002 ci-dessus ) soient colorées.
Une idée :? Merci
OUPs, la proposition faite est inexacte dans le cas où tu supprimes
des données... il se peut alors que des cellules déjà saisies se
retrouvent comme valeur unique dans la colonne.
Il y a aussi la situation... si tu avais une valeur unique et que
tu ajoutes plus loin dans la colonne la même valeur, la procédure
n'a aucun effet sur la première occurrence du doublon et le
format continue à s'appliquer... ce n'est pas probablement ce que tu
désires !
Conclusion : oublie ce que j'ai proposé.
"GVA" a écrit dans le message de groupe de discussion :
Merci, j'ai testé mais ça toune pas comme je veux, car en cas d'insertion
de
ligne la condition n'est pas reprise.
J'ai trouvé ça qui fonctionne presque!
Sub doubles()
Dim Collec As New Collection, Cell As Range, Plage As Range
On Error Resume Next
Set Plage = Range("C2:C5000")
'If IsEmpty(Plage) Then Exit Sub
For Each Cell In Plage
If Cell.Value <> "" Then
Collec.Add Cell.Value, CStr(Cell.Value)
If Err <> 0 Then
Err.Clear
Cell.Interior.ColorIndex = 3
Else
Cell.Interior.ColorIndex = 4
End If
End If
Next Cell
End Sub
Presque car la première fois qu'il trouve une valeur il la considère come
unique. donc ça fait pas mon affaire.
En fait il colorie en rouge les doublons.
"Jacky" a écrit dans le message de news:Re...10000 10001 et 10002 sont uniques donc colorés:
Dans ce cas la proposition de MichDenis est ce qu'il te faut.
--
Salutations
JJ
"GVA" a écrit dans le message de news:Bonjour Jacky,
Merci pour la réponse, c'est certain que si je me trompe dans mon
exemple
ça va pas le faire
voici la correction
A B
Dossier Séq
10000 1
10001 1
10002 1
10003 1
10003 2
10000 10001 et 10002 sont uniques donc colorés:
10003 y figure deux fois donc pas coloré.
Merci du coup de main
"Jacky" a écrit dans le message de news:
%Bonjour,
Peux-tu préciser ta demande par un exemple
car si se sont les valeurs uniques de la colonne A ceci est faux(par exemple 1002 ci-dessus ) soient colorées.
10000 , 10001 et 10002 sont uniques
???
Ou si tu souhaites les valeurs unique colonne A ayant une séquence
unique (Colonne B)
Dans ce cas
10000 et 10002
--
Salutations
JJ
"GVA" a écrit dans le message de news:
uZd2fy$Bonjour,
j'ai dans la colonne A des numéros de dossier et dans la colonne B des
séquences de 1 à x.
A B
Dossier Séq
10000 1
10001 2
10002 1
10003 1
10003 2
Je souhaite que les cellules de la colonne A, contenant une valeur
unique (par exemple 1002 ci-dessus ) soient colorées.
Une idée :? Merci
Il y a une petite coquille dans le If remplace le tout
par ceci ... il manque le Else ...
If Application.WorksheetFunction.CountIf(Range("A:A"), c) = 1 Then
'modification de la couleur de fond
c.Interior.Color = vbRed
Else
c.Interior.ColorIndex = xlAutomatic
End If
"MichDenis" a écrit dans le message de groupe de
discussion :
#
En vba, tu as ceci :
Tu colles ce qui suit dans le module feuille où l'action se déroule.
'---------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Target, Range("A:A"))
If Not Rg Is Nothing Then
For Each c In Rg
If Application.WorksheetFunction.CountIf(Range("A:A"), c) = 1 Then
'modification de la couleur de fond
c.Interior.Color = vbRed
End If
Next
End If
End Sub
'---------------------------------
"GVA" a écrit dans le message de groupe de discussion :
Merci, j'ai testé mais ça toune pas comme je veux, car en cas d'insertion
de
ligne la condition n'est pas reprise.
J'ai trouvé ça qui fonctionne presque!
Sub doubles()
Dim Collec As New Collection, Cell As Range, Plage As Range
On Error Resume Next
Set Plage = Range("C2:C5000")
'If IsEmpty(Plage) Then Exit Sub
For Each Cell In Plage
If Cell.Value <> "" Then
Collec.Add Cell.Value, CStr(Cell.Value)
If Err <> 0 Then
Err.Clear
Cell.Interior.ColorIndex = 3
Else
Cell.Interior.ColorIndex = 4
End If
End If
Next Cell
End Sub
Presque car la première fois qu'il trouve une valeur il la considère come
unique. donc ça fait pas mon affaire.
En fait il colorie en rouge les doublons.
"Jacky" a écrit dans le message de news:Re...10000 10001 et 10002 sont uniques donc colorés:
Dans ce cas la proposition de MichDenis est ce qu'il te faut.
--
Salutations
JJ
"GVA" a écrit dans le message de news:Bonjour Jacky,
Merci pour la réponse, c'est certain que si je me trompe dans mon
exemple
ça va pas le faire
voici la correction
A B
Dossier Séq
10000 1
10001 1
10002 1
10003 1
10003 2
10000 10001 et 10002 sont uniques donc colorés:
10003 y figure deux fois donc pas coloré.
Merci du coup de main
"Jacky" a écrit dans le message de news:
%Bonjour,
Peux-tu préciser ta demande par un exemple
car si se sont les valeurs uniques de la colonne A ceci est faux(par exemple 1002 ci-dessus ) soient colorées.
10000 , 10001 et 10002 sont uniques
???
Ou si tu souhaites les valeurs unique colonne A ayant une séquence
unique (Colonne B)
Dans ce cas
10000 et 10002
--
Salutations
JJ
"GVA" a écrit dans le message de news:
uZd2fy$Bonjour,
j'ai dans la colonne A des numéros de dossier et dans la colonne B des
séquences de 1 à x.
A B
Dossier Séq
10000 1
10001 2
10002 1
10003 1
10003 2
Je souhaite que les cellules de la colonne A, contenant une valeur
unique (par exemple 1002 ci-dessus ) soient colorées.
Une idée :? Merci
Il y a une petite coquille dans le If remplace le tout
par ceci ... il manque le Else ...
If Application.WorksheetFunction.CountIf(Range("A:A"), c) = 1 Then
'modification de la couleur de fond
c.Interior.Color = vbRed
Else
c.Interior.ColorIndex = xlAutomatic
End If
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de groupe de
discussion :
#JdQeaBnJHA.5412@TK2MSFTNGP04.phx.gbl...
En vba, tu as ceci :
Tu colles ce qui suit dans le module feuille où l'action se déroule.
'---------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Target, Range("A:A"))
If Not Rg Is Nothing Then
For Each c In Rg
If Application.WorksheetFunction.CountIf(Range("A:A"), c) = 1 Then
'modification de la couleur de fond
c.Interior.Color = vbRed
End If
Next
End If
End Sub
'---------------------------------
"GVA" <mail@mail.com> a écrit dans le message de groupe de discussion :
ereDPEBnJHA.5832@TK2MSFTNGP06.phx.gbl...
Merci, j'ai testé mais ça toune pas comme je veux, car en cas d'insertion
de
ligne la condition n'est pas reprise.
J'ai trouvé ça qui fonctionne presque!
Sub doubles()
Dim Collec As New Collection, Cell As Range, Plage As Range
On Error Resume Next
Set Plage = Range("C2:C5000")
'If IsEmpty(Plage) Then Exit Sub
For Each Cell In Plage
If Cell.Value <> "" Then
Collec.Add Cell.Value, CStr(Cell.Value)
If Err <> 0 Then
Err.Clear
Cell.Interior.ColorIndex = 3
Else
Cell.Interior.ColorIndex = 4
End If
End If
Next Cell
End Sub
Presque car la première fois qu'il trouve une valeur il la considère come
unique. donc ça fait pas mon affaire.
En fait il colorie en rouge les doublons.
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
OY1mr5AnJHA.5520@TK2MSFTNGP06.phx.gbl...
Re...
10000 10001 et 10002 sont uniques donc colorés:
Dans ce cas la proposition de MichDenis est ce qu'il te faut.
--
Salutations
JJ
"GVA" <mail@mail.com> a écrit dans le message de news:
uYfwiwAnJHA.3876@TK2MSFTNGP02.phx.gbl...
Bonjour Jacky,
Merci pour la réponse, c'est certain que si je me trompe dans mon
exemple
ça va pas le faire
voici la correction
A B
Dossier Séq
10000 1
10001 1
10002 1
10003 1
10003 2
10000 10001 et 10002 sont uniques donc colorés:
10003 y figure deux fois donc pas coloré.
Merci du coup de main
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
%237QKzOAnJHA.6060@TK2MSFTNGP05.phx.gbl...
Bonjour,
Peux-tu préciser ta demande par un exemple
car si se sont les valeurs uniques de la colonne A ceci est faux
(par exemple 1002 ci-dessus ) soient colorées.
10000 , 10001 et 10002 sont uniques
???
Ou si tu souhaites les valeurs unique colonne A ayant une séquence
unique (Colonne B)
Dans ce cas
10000 et 10002
--
Salutations
JJ
"GVA" <mail@mail.com> a écrit dans le message de news:
uZd2fy$mJHA.1252@TK2MSFTNGP03.phx.gbl...
Bonjour,
j'ai dans la colonne A des numéros de dossier et dans la colonne B des
séquences de 1 à x.
A B
Dossier Séq
10000 1
10001 2
10002 1
10003 1
10003 2
Je souhaite que les cellules de la colonne A, contenant une valeur
unique (par exemple 1002 ci-dessus ) soient colorées.
Une idée :? Merci
Il y a une petite coquille dans le If remplace le tout
par ceci ... il manque le Else ...
If Application.WorksheetFunction.CountIf(Range("A:A"), c) = 1 Then
'modification de la couleur de fond
c.Interior.Color = vbRed
Else
c.Interior.ColorIndex = xlAutomatic
End If
"MichDenis" a écrit dans le message de groupe de
discussion :
#
En vba, tu as ceci :
Tu colles ce qui suit dans le module feuille où l'action se déroule.
'---------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Target, Range("A:A"))
If Not Rg Is Nothing Then
For Each c In Rg
If Application.WorksheetFunction.CountIf(Range("A:A"), c) = 1 Then
'modification de la couleur de fond
c.Interior.Color = vbRed
End If
Next
End If
End Sub
'---------------------------------
"GVA" a écrit dans le message de groupe de discussion :
Merci, j'ai testé mais ça toune pas comme je veux, car en cas d'insertion
de
ligne la condition n'est pas reprise.
J'ai trouvé ça qui fonctionne presque!
Sub doubles()
Dim Collec As New Collection, Cell As Range, Plage As Range
On Error Resume Next
Set Plage = Range("C2:C5000")
'If IsEmpty(Plage) Then Exit Sub
For Each Cell In Plage
If Cell.Value <> "" Then
Collec.Add Cell.Value, CStr(Cell.Value)
If Err <> 0 Then
Err.Clear
Cell.Interior.ColorIndex = 3
Else
Cell.Interior.ColorIndex = 4
End If
End If
Next Cell
End Sub
Presque car la première fois qu'il trouve une valeur il la considère come
unique. donc ça fait pas mon affaire.
En fait il colorie en rouge les doublons.
"Jacky" a écrit dans le message de news:Re...10000 10001 et 10002 sont uniques donc colorés:
Dans ce cas la proposition de MichDenis est ce qu'il te faut.
--
Salutations
JJ
"GVA" a écrit dans le message de news:Bonjour Jacky,
Merci pour la réponse, c'est certain que si je me trompe dans mon
exemple
ça va pas le faire
voici la correction
A B
Dossier Séq
10000 1
10001 1
10002 1
10003 1
10003 2
10000 10001 et 10002 sont uniques donc colorés:
10003 y figure deux fois donc pas coloré.
Merci du coup de main
"Jacky" a écrit dans le message de news:
%Bonjour,
Peux-tu préciser ta demande par un exemple
car si se sont les valeurs uniques de la colonne A ceci est faux(par exemple 1002 ci-dessus ) soient colorées.
10000 , 10001 et 10002 sont uniques
???
Ou si tu souhaites les valeurs unique colonne A ayant une séquence
unique (Colonne B)
Dans ce cas
10000 et 10002
--
Salutations
JJ
"GVA" a écrit dans le message de news:
uZd2fy$Bonjour,
j'ai dans la colonne A des numéros de dossier et dans la colonne B des
séquences de 1 à x.
A B
Dossier Séq
10000 1
10001 2
10002 1
10003 1
10003 2
Je souhaite que les cellules de la colonne A, contenant une valeur
unique (par exemple 1002 ci-dessus ) soient colorées.
Une idée :? Merci
Ceci fonctionne très bien !
Tu places ce code dans le module feuille où l'action se déroule.
Tu devras faire des adaptations le cas échéant.
J'utilise le filtre élaboré... ce dernier requiert une étiquette
de colonne obligatoire
J'ai choisi comme zone de critère D1:D2, tu peux prendre
2 cellules de ton choix... et j'ai supposé que l'action se déroulait
en colonne A:A
'--------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, Rg1 As Range
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Application.ScreenUpdating = False
Application.EnableEvents = False
On Error Resume Next
With Range("A1:A" & Range("A65536").End(xlUp).Row)
'Zone de critère du filtre élaboré D1:D2
Range("D1") = ""
Range("D2").Formula = "=Countif(" & .Cells.Address & ",A2)=1"
.Interior.ColorIndex = xlNone
.AdvancedFilter (xlFilterInPlace), Range("D1:D2"), , True
Set Rg = Range("_FilterDataBase")
Set Rg1 = Rg.Offset(1).Resize(Rg.Rows.Count -
1).SpecialCells(xlCellTypeVisible)
Rg1.Interior.ColorIndex = 3
.Parent.ShowAllData
Range("D1") = ""
Range("D2") = ""
End With
Application.EnableEvents = True
End If
End Sub
'--------------------------------
"GVA" a écrit dans le message de groupe de discussion :
#
Merci pour tout michdenis, ça à l'air de tourner
En attendant de mon côté j'ai écrit ça et ça c'est basique mais ça tourne.
Merci à tous pour votre disponibilité.
Excellente soirée
Sub yaca()
Dim Cell As Range, Plage As Range, val As String, val2 As String, val3 As
String
On Error Resume Next
Set Plage = Range("C2:C8000")
For Each Cell In Plage
val = Cell.Value 'valeur de la cellule actuelle
val2 = Cell.Offset(1, 0).Value 'valeur de la cellule du dessous
val3 = Cell.Offset(-1, 0).Value 'valeur de la cellule du dessus
If val = val2 Or val = val3 Then 'si est égale à la cellule du
dessus ou dessous ne colorie pas
Else 'sinon colorie
Cell.Interior.ColorIndex = 4
End If
Next Cell
End Sub
"MichDenis" a écrit dans le message de news:Il y a une petite coquille dans le If remplace le tout
par ceci ... il manque le Else ...
If Application.WorksheetFunction.CountIf(Range("A:A"), c) = 1 Then
'modification de la couleur de fond
c.Interior.Color = vbRed
Else
c.Interior.ColorIndex = xlAutomatic
End If
"MichDenis" a écrit dans le message de groupe de
discussion :
#
En vba, tu as ceci :
Tu colles ce qui suit dans le module feuille où l'action se déroule.
'---------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Target, Range("A:A"))
If Not Rg Is Nothing Then
For Each c In Rg
If Application.WorksheetFunction.CountIf(Range("A:A"), c) = 1 Then
'modification de la couleur de fond
c.Interior.Color = vbRed
End If
Next
End If
End Sub
'---------------------------------
"GVA" a écrit dans le message de groupe de discussion :
Merci, j'ai testé mais ça toune pas comme je veux, car en cas d'insertion
de
ligne la condition n'est pas reprise.
J'ai trouvé ça qui fonctionne presque!
Sub doubles()
Dim Collec As New Collection, Cell As Range, Plage As Range
On Error Resume Next
Set Plage = Range("C2:C5000")
'If IsEmpty(Plage) Then Exit Sub
For Each Cell In Plage
If Cell.Value <> "" Then
Collec.Add Cell.Value, CStr(Cell.Value)
If Err <> 0 Then
Err.Clear
Cell.Interior.ColorIndex = 3
Else
Cell.Interior.ColorIndex = 4
End If
End If
Next Cell
End Sub
Presque car la première fois qu'il trouve une valeur il la considère come
unique. donc ça fait pas mon affaire.
En fait il colorie en rouge les doublons.
"Jacky" a écrit dans le message de news:Re...10000 10001 et 10002 sont uniques donc colorés:
Dans ce cas la proposition de MichDenis est ce qu'il te faut.
--
Salutations
JJ
"GVA" a écrit dans le message de news:Bonjour Jacky,
Merci pour la réponse, c'est certain que si je me trompe dans mon
exemple
ça va pas le faire
voici la correction
A B
Dossier Séq
10000 1
10001 1
10002 1
10003 1
10003 2
10000 10001 et 10002 sont uniques donc colorés:
10003 y figure deux fois donc pas coloré.
Merci du coup de main
"Jacky" a écrit dans le message de news:
%Bonjour,
Peux-tu préciser ta demande par un exemple
car si se sont les valeurs uniques de la colonne A ceci est faux(par exemple 1002 ci-dessus ) soient colorées.
10000 , 10001 et 10002 sont uniques
???
Ou si tu souhaites les valeurs unique colonne A ayant une séquence
unique (Colonne B)
Dans ce cas
10000 et 10002
--
Salutations
JJ
"GVA" a écrit dans le message de news:
uZd2fy$Bonjour,
j'ai dans la colonne A des numéros de dossier et dans la colonne B
des
séquences de 1 à x.
A B
Dossier Séq
10000 1
10001 2
10002 1
10003 1
10003 2
Je souhaite que les cellules de la colonne A, contenant une valeur
unique (par exemple 1002 ci-dessus ) soient colorées.
Une idée :? Merci
Ceci fonctionne très bien !
Tu places ce code dans le module feuille où l'action se déroule.
Tu devras faire des adaptations le cas échéant.
J'utilise le filtre élaboré... ce dernier requiert une étiquette
de colonne obligatoire
J'ai choisi comme zone de critère D1:D2, tu peux prendre
2 cellules de ton choix... et j'ai supposé que l'action se déroulait
en colonne A:A
'--------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, Rg1 As Range
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Application.ScreenUpdating = False
Application.EnableEvents = False
On Error Resume Next
With Range("A1:A" & Range("A65536").End(xlUp).Row)
'Zone de critère du filtre élaboré D1:D2
Range("D1") = ""
Range("D2").Formula = "=Countif(" & .Cells.Address & ",A2)=1"
.Interior.ColorIndex = xlNone
.AdvancedFilter (xlFilterInPlace), Range("D1:D2"), , True
Set Rg = Range("_FilterDataBase")
Set Rg1 = Rg.Offset(1).Resize(Rg.Rows.Count -
1).SpecialCells(xlCellTypeVisible)
Rg1.Interior.ColorIndex = 3
.Parent.ShowAllData
Range("D1") = ""
Range("D2") = ""
End With
Application.EnableEvents = True
End If
End Sub
'--------------------------------
"GVA" <mail@mail.com> a écrit dans le message de groupe de discussion :
#mvkkkBnJHA.4540@TK2MSFTNGP04.phx.gbl...
Merci pour tout michdenis, ça à l'air de tourner
En attendant de mon côté j'ai écrit ça et ça c'est basique mais ça tourne.
Merci à tous pour votre disponibilité.
Excellente soirée
Sub yaca()
Dim Cell As Range, Plage As Range, val As String, val2 As String, val3 As
String
On Error Resume Next
Set Plage = Range("C2:C8000")
For Each Cell In Plage
val = Cell.Value 'valeur de la cellule actuelle
val2 = Cell.Offset(1, 0).Value 'valeur de la cellule du dessous
val3 = Cell.Offset(-1, 0).Value 'valeur de la cellule du dessus
If val = val2 Or val = val3 Then 'si est égale à la cellule du
dessus ou dessous ne colorie pas
Else 'sinon colorie
Cell.Interior.ColorIndex = 4
End If
Next Cell
End Sub
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
B559936D-10E0-46D2-9879-EDB2710732E3@microsoft.com...
Il y a une petite coquille dans le If remplace le tout
par ceci ... il manque le Else ...
If Application.WorksheetFunction.CountIf(Range("A:A"), c) = 1 Then
'modification de la couleur de fond
c.Interior.Color = vbRed
Else
c.Interior.ColorIndex = xlAutomatic
End If
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de groupe de
discussion :
#JdQeaBnJHA.5412@TK2MSFTNGP04.phx.gbl...
En vba, tu as ceci :
Tu colles ce qui suit dans le module feuille où l'action se déroule.
'---------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Target, Range("A:A"))
If Not Rg Is Nothing Then
For Each c In Rg
If Application.WorksheetFunction.CountIf(Range("A:A"), c) = 1 Then
'modification de la couleur de fond
c.Interior.Color = vbRed
End If
Next
End If
End Sub
'---------------------------------
"GVA" <mail@mail.com> a écrit dans le message de groupe de discussion :
ereDPEBnJHA.5832@TK2MSFTNGP06.phx.gbl...
Merci, j'ai testé mais ça toune pas comme je veux, car en cas d'insertion
de
ligne la condition n'est pas reprise.
J'ai trouvé ça qui fonctionne presque!
Sub doubles()
Dim Collec As New Collection, Cell As Range, Plage As Range
On Error Resume Next
Set Plage = Range("C2:C5000")
'If IsEmpty(Plage) Then Exit Sub
For Each Cell In Plage
If Cell.Value <> "" Then
Collec.Add Cell.Value, CStr(Cell.Value)
If Err <> 0 Then
Err.Clear
Cell.Interior.ColorIndex = 3
Else
Cell.Interior.ColorIndex = 4
End If
End If
Next Cell
End Sub
Presque car la première fois qu'il trouve une valeur il la considère come
unique. donc ça fait pas mon affaire.
En fait il colorie en rouge les doublons.
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
OY1mr5AnJHA.5520@TK2MSFTNGP06.phx.gbl...
Re...
10000 10001 et 10002 sont uniques donc colorés:
Dans ce cas la proposition de MichDenis est ce qu'il te faut.
--
Salutations
JJ
"GVA" <mail@mail.com> a écrit dans le message de news:
uYfwiwAnJHA.3876@TK2MSFTNGP02.phx.gbl...
Bonjour Jacky,
Merci pour la réponse, c'est certain que si je me trompe dans mon
exemple
ça va pas le faire
voici la correction
A B
Dossier Séq
10000 1
10001 1
10002 1
10003 1
10003 2
10000 10001 et 10002 sont uniques donc colorés:
10003 y figure deux fois donc pas coloré.
Merci du coup de main
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
%237QKzOAnJHA.6060@TK2MSFTNGP05.phx.gbl...
Bonjour,
Peux-tu préciser ta demande par un exemple
car si se sont les valeurs uniques de la colonne A ceci est faux
(par exemple 1002 ci-dessus ) soient colorées.
10000 , 10001 et 10002 sont uniques
???
Ou si tu souhaites les valeurs unique colonne A ayant une séquence
unique (Colonne B)
Dans ce cas
10000 et 10002
--
Salutations
JJ
"GVA" <mail@mail.com> a écrit dans le message de news:
uZd2fy$mJHA.1252@TK2MSFTNGP03.phx.gbl...
Bonjour,
j'ai dans la colonne A des numéros de dossier et dans la colonne B
des
séquences de 1 à x.
A B
Dossier Séq
10000 1
10001 2
10002 1
10003 1
10003 2
Je souhaite que les cellules de la colonne A, contenant une valeur
unique (par exemple 1002 ci-dessus ) soient colorées.
Une idée :? Merci
Ceci fonctionne très bien !
Tu places ce code dans le module feuille où l'action se déroule.
Tu devras faire des adaptations le cas échéant.
J'utilise le filtre élaboré... ce dernier requiert une étiquette
de colonne obligatoire
J'ai choisi comme zone de critère D1:D2, tu peux prendre
2 cellules de ton choix... et j'ai supposé que l'action se déroulait
en colonne A:A
'--------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, Rg1 As Range
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Application.ScreenUpdating = False
Application.EnableEvents = False
On Error Resume Next
With Range("A1:A" & Range("A65536").End(xlUp).Row)
'Zone de critère du filtre élaboré D1:D2
Range("D1") = ""
Range("D2").Formula = "=Countif(" & .Cells.Address & ",A2)=1"
.Interior.ColorIndex = xlNone
.AdvancedFilter (xlFilterInPlace), Range("D1:D2"), , True
Set Rg = Range("_FilterDataBase")
Set Rg1 = Rg.Offset(1).Resize(Rg.Rows.Count -
1).SpecialCells(xlCellTypeVisible)
Rg1.Interior.ColorIndex = 3
.Parent.ShowAllData
Range("D1") = ""
Range("D2") = ""
End With
Application.EnableEvents = True
End If
End Sub
'--------------------------------
"GVA" a écrit dans le message de groupe de discussion :
#
Merci pour tout michdenis, ça à l'air de tourner
En attendant de mon côté j'ai écrit ça et ça c'est basique mais ça tourne.
Merci à tous pour votre disponibilité.
Excellente soirée
Sub yaca()
Dim Cell As Range, Plage As Range, val As String, val2 As String, val3 As
String
On Error Resume Next
Set Plage = Range("C2:C8000")
For Each Cell In Plage
val = Cell.Value 'valeur de la cellule actuelle
val2 = Cell.Offset(1, 0).Value 'valeur de la cellule du dessous
val3 = Cell.Offset(-1, 0).Value 'valeur de la cellule du dessus
If val = val2 Or val = val3 Then 'si est égale à la cellule du
dessus ou dessous ne colorie pas
Else 'sinon colorie
Cell.Interior.ColorIndex = 4
End If
Next Cell
End Sub
"MichDenis" a écrit dans le message de news:Il y a une petite coquille dans le If remplace le tout
par ceci ... il manque le Else ...
If Application.WorksheetFunction.CountIf(Range("A:A"), c) = 1 Then
'modification de la couleur de fond
c.Interior.Color = vbRed
Else
c.Interior.ColorIndex = xlAutomatic
End If
"MichDenis" a écrit dans le message de groupe de
discussion :
#
En vba, tu as ceci :
Tu colles ce qui suit dans le module feuille où l'action se déroule.
'---------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Target, Range("A:A"))
If Not Rg Is Nothing Then
For Each c In Rg
If Application.WorksheetFunction.CountIf(Range("A:A"), c) = 1 Then
'modification de la couleur de fond
c.Interior.Color = vbRed
End If
Next
End If
End Sub
'---------------------------------
"GVA" a écrit dans le message de groupe de discussion :
Merci, j'ai testé mais ça toune pas comme je veux, car en cas d'insertion
de
ligne la condition n'est pas reprise.
J'ai trouvé ça qui fonctionne presque!
Sub doubles()
Dim Collec As New Collection, Cell As Range, Plage As Range
On Error Resume Next
Set Plage = Range("C2:C5000")
'If IsEmpty(Plage) Then Exit Sub
For Each Cell In Plage
If Cell.Value <> "" Then
Collec.Add Cell.Value, CStr(Cell.Value)
If Err <> 0 Then
Err.Clear
Cell.Interior.ColorIndex = 3
Else
Cell.Interior.ColorIndex = 4
End If
End If
Next Cell
End Sub
Presque car la première fois qu'il trouve une valeur il la considère come
unique. donc ça fait pas mon affaire.
En fait il colorie en rouge les doublons.
"Jacky" a écrit dans le message de news:Re...10000 10001 et 10002 sont uniques donc colorés:
Dans ce cas la proposition de MichDenis est ce qu'il te faut.
--
Salutations
JJ
"GVA" a écrit dans le message de news:Bonjour Jacky,
Merci pour la réponse, c'est certain que si je me trompe dans mon
exemple
ça va pas le faire
voici la correction
A B
Dossier Séq
10000 1
10001 1
10002 1
10003 1
10003 2
10000 10001 et 10002 sont uniques donc colorés:
10003 y figure deux fois donc pas coloré.
Merci du coup de main
"Jacky" a écrit dans le message de news:
%Bonjour,
Peux-tu préciser ta demande par un exemple
car si se sont les valeurs uniques de la colonne A ceci est faux(par exemple 1002 ci-dessus ) soient colorées.
10000 , 10001 et 10002 sont uniques
???
Ou si tu souhaites les valeurs unique colonne A ayant une séquence
unique (Colonne B)
Dans ce cas
10000 et 10002
--
Salutations
JJ
"GVA" a écrit dans le message de news:
uZd2fy$Bonjour,
j'ai dans la colonne A des numéros de dossier et dans la colonne B
des
séquences de 1 à x.
A B
Dossier Séq
10000 1
10001 2
10002 1
10003 1
10003 2
Je souhaite que les cellules de la colonne A, contenant une valeur
unique (par exemple 1002 ci-dessus ) soient colorées.
Une idée :? Merci