procedure evenementielle Worksheet_Change

alexane

XLDnaute Occasionnel
Bonjour à tous,
J'ai une procédure évenementielle sur changement dans une feuille
Mon objectif est de mettre en majuscule ce qui est saisie sur la plage A1:A10
Mon problème c'est que quand ça met en majuscule, ça change la cellule donc ça rappelle l'évenement et c'est récursif et ça finit par planter. Comment faire pour m'en sortir ?
Merci

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim pl As Range
    Set pl = Range("A1:A10")
    If Intersect(pl, Target) Is Nothing Then Exit Sub
    Target.Value = UCase(Target.Value)
    'ici il faut stopper la procédure evenementielle
  End Sub
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : procedure evenementielle Worksheet_Change

Bonjour Alexane,

avec ceci en début de procédure:

Application.EnableEvents = False

sans oublier de remettre à True à la fin

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
    Application.EnableEvents = False
    Target.Value = UCase(Target.Value)
End If
Application.EnableEvents = True
End Sub

à+
Philippe
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 866
Membres
103 979
dernier inscrit
imed