procedure evenementielle Worksheet_Change

  • Initiateur de la discussion Initiateur de la discussion alexane
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
508
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
M
Réponses
9
Affichages
2 K
macgillian
M
  • Question Question
Microsoft 365 heures sans les :
Réponses
2
Affichages
838
Retour