Un grand bonjour pour commencer

lenag99

XLDnaute Nouveau
Bonjour à tous, :)

Nouveau sur le forum, je cherche désespérément un moyen d'identifier des doublons (valeurs identiques) sur une feuille entière (pas sur une seule colonne).

En effet, je travaille dans une boite de transport et je dois affecter les véhicules de manière quotidienne avec de nombreux changements dans la journée (les pannes, les accidents etc.) et, le problème c'est que bien souvent j'affecte le même véhicule à plusieurs endroits différents (ce qui ne doit pas être possible). C'est pourquoi, si je trouvais un moyen d'identifier les doublons sur l'ensemble de la feuille j'aurais une vue immédiate lors de la saisie et, j'éviterai ainsi les erreurs;)

Merci d'avance à ceux qui peuvent m'aider
 

skoobi

XLDnaute Barbatruc
Re : Un grand bonjour pour commencer

Bonjour,

une proposition par macro évenementielle:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Set doublon = Cells.Find(Target.Value, after:=Target, lookat:=xlWhole)
If Not doublon Is Nothing Then MsgBox "Doublon trouvé en " & doublon.Address(0, 0)

End Sub

qui se déclenche après la saisie dans la cellule.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Un grand bonjour pour commencer

Bonsoir lenag, Skoobi, bonsoir le forum

Époustouflé par l'efficacité et la simplicité de ton code, Skoobi (je garde ce plan dans mes archives), je me permet nonne au stand d'y rajouter une petite ligne :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Set doublon = Cells.Find(Target.Value, after:=Target, lookat:=xlWhole)
[COLOR=red]If doublon.Address = Target.Address Or Target.Value = "" Then Exit Sub[/COLOR]
If Not doublon Is Nothing Then MsgBox "Doublon trouvé en " & doublon.Address(0, 0)
End Sub
 

skoobi

XLDnaute Barbatruc
Re : Un grand bonjour pour commencer

Bonsoir Robert,

exact, j'avais oublié cette condition, je suis allé un peut vite, mais toi aussi....:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Set doublon = Cells.Find(Target.Value, after:=Target, lookat:=xlWhole)
[B]If Not doublon Is Nothing Then
    If doublon.Address = Target.Address Or Target.Value = "" Then Exit Sub[/B]
    MsgBox "Doublon trouvé en " & doublon.Address(0, 0)
End If
End Sub

car si on vide la cellule, ça plante ;)
 

Discussions similaires

Réponses
4
Affichages
740

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 668
Messages
2 090 739
Membres
104 643
dernier inscrit
adriano22