Private Sub Worksheet_Change(ByVal Target As Range)

  • Initiateur de la discussion Xtian (du Québec)
  • Date de début
X

Xtian (du Québec)

Guest
Bonjour le forum

j'ai un fichier qui recherche les doublons dans la plage A1:Y90 avec le code suivant:
Sub Doublon()
Dim StartValue As String
Dim CelEnd As String
Dim CelDep As String

If ActiveCell = "" Then
ActiveCell.Select
Else
StartValue = ActiveCell.Value
CelDep = ActiveCell.Address
Range("A1:Y90").Cells.Find(What:=(StartValue), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
CelEnd = ActiveCell.Address
If CelEnd <> CelDep Then
MsgBox StartValue & " est présentement utilisé, faire un autre choix."
Range(CelEnd).Select
Range(CelEnd).Show
Else
Range(CelDep).Select
End If
End If
End Sub

J'utilise la fonction
Private Sub Worksheet_Change(ByVal Target As Range)
Call Doublon
End Sub

pour rechercher les doublons chaque fois que qu'un changement a lieu dans la feuille. Tout fonctionne parfaitement.

Mon problème, j'aimerais que mon sub Doublon() ne soit exécuté SEULEMENT lorsqu'il y a des changements dans la plage A1:Y90. J'aimerais savoir ce qu'il faut ajouter à mon code pour que l'action ne s'exécute seulement lorsque des changements sont effectués dans la plage choisie au lieu de toute la feuille.

Merci de votre aide

Xtian (du Québec)
@+++
 
G

galopin01

Guest
Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
Dim z$, isect as variant
z = ActiveCell.Address
Set isect = Application.Intersect(Range(z), Range("A1:Y90"))
If Not isect Is Nothing Then Doublon
End Sub

A+
 
M

michel_m

Guest
Bonjour Galopin, Xthian

Autre solution possible sans nouvelles variables

Private Sub Worksheet_Change(ByVal Target As Range)
If intersect(target,range("A1:Y90")) is nothing then: exit sub
doublon
end sub


A+
Michel
 
X

Xtian (du Québec)

Guest
Hey hey le Forum !!!
C'est fantastique. Je savais que je pouvais obtenir cette information par l'entremise du forum...
C'est exactement ce que je cherchais...Tout fonctionne parfaitement...

Merci beaucoup galopin01 et michel_m.
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 926
Membres
103 984
dernier inscrit
maliko67