Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives

Advertisement

 
 
LinkBack Outils de la discussion
Vieux 13/02/2005, 15h40   #1 (permalink)
renaud
Guest
 
Messages: n/a
Par défaut Reperage doublon

Bonjour,


j aimerais savoir comment faire une macro qui colore (en orange par exemple) les cellules qui ont la meme valeur.
Je pense que l idee de cette macro est que pour chaque ligne n (0<n<100) de la colonne j, excel balaye de la ligne 1 a n-1 et colorise toutes les cellules qui ont la meme valeur. Une couleur suffit car la colonne J sera triée de manière croissante au préalable.


Merci

renaud
 
ANNONCES
Vieux 13/02/2005, 18h46   #2 (permalink)
Hervé
Guest
 
Messages: n/a
Par défaut Re: Reperage doublon

Bonsoir

Si tes données sont triées :

Public Sub vev()
Dim c As Range
For Each c In Range("j1:j" & Range("j65536").End(xlUp).Row)
If c.Offset(1, 0) = c Then c.Interior.ColorIndex = 6: c.Offset(1, 0).Interior.ColorIndex = 6
Next c
End Sub

Si elle ne le sont pas :

Public Sub vev2()
Dim c As Range
For Each c In Range("j1:j" & Range("j65536").End(xlUp).Row)
If Application.WorksheetFunction.CountIf(Range("j1:j" & Range("j65536").End(xlUp).Row), c.Value) > 1 Then
c.Interior.ColorIndex = 6
End If
Next c
End Sub


Salut
Hervé
 
Vieux 13/02/2005, 20h56   #3 (permalink)
renaud
Guest
 
Messages: n/a
Par défaut Re: Reperage doublon

Super, cela marche très bien, merci beaucoup.


Comment faire pour que je puisse savoir si la valeur est deja presente dans la colonne J des que je rentre une nouvelle valeur (de telle sorte que je n ai pas besoin de lancer la macro a chaque fois pour savoir -peut etre en utilisant le format conditionnel des cellules...


Merci


renaud
 
Vieux 14/02/2005, 11h28   #4 (permalink)
Hervé
Guest
 
Messages: n/a
Par défaut Re: Reperage doublon

Bonjour

Ce code placer dans le module de la feuille adéquate, interdit la saisie dans doublons dans la colonne j :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Not Application.Intersect(Target, Columns(10)) Is Nothing Then
For Each c In Range("j1:j" & Range("j65536").End(xlUp).Row)
If Application.WorksheetFunction.CountIf(Range("j1:j" & Range("j65536").End(xlUp).Row), c.Value) > 1 Then
MsgBox "Ce mot est déjà présent": Target.ClearContents: Exit Sub
End If
Next c
End If
End Sub

On doit pouvoir le faire avec un format conditionnel, pour ceci je te laisse rechercher dans le forum, je ne sais pas faire.

Salut
Hervé
 
Vieux 14/02/2005, 16h11   #5 (permalink)
renaud
Guest
 
Messages: n/a
Par défaut Re: Reperage doublon

Super merci beaucoup


Renaud
 
ANNONCES
 

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 14h54.


(C) 2006 Excel Downloads