Bonjour à tous,
Enorme bug inexplicable ; j'ai un programme qui fait appel à Worksheet_Change.
Il ne fonctionne pas toujours alors je mets Application.EnableEvents=True.
Je l'ai testé et ça marchait nickel. J'ai une liste dans des cellules, et si on change les cellules dotées d'une liste, j'exécute une macro.
Seulement, d'un seul coup, sans raison, tout s'est mis à planter, mes feuilles étaient protégées alors que mes macros appellent ActiveSheet.Unprotect, ClearContents ne s'exécutait plus, et paf :
Microsoft Excel a cessé de fonctionner.
Bref, c'est comme si ce que j'avais fait ne s'exécutait plus ! Ca me rend folle parce que tout marchait parfaitement quelques minutes auparavant...
J'ai remarqué que si je lançais manuellement Application.EnableEvent = True, mon Worksheet_Change se lançait automatiquement comme voulu. Mais après, il faut croire que Application.EnableEnvents se met à false... Je ne comprends vraiment pas.
J'aurais besoin d'aide svp, ça me rend vraiment dingue !!
Voici mon Worksheet_Change :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
'Explication de la macro
If Not Intersect(Target, Range("G10:H19")) Is Nothing Then
Application.EnableEvents = True
Application.DisplayAlerts = False
Call MaMacro
Application.DisplayAlerts = True
End If
End If
End Sub
D'avance merci,
Bon, j'ai changé quelque chose niveau Application.EnbaleEvents, et ça marche pour le moment.
Je dis bien pour le moment...
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Count = 1 Then
If Not Intersect(Target, Range("G10:H19")) Is Nothing Then
Application.DisplayAlerts = False
ActiveSheet.Unprotect
Call MaMacro
Application.DisplayAlerts = True
End If
End If
Application.EnableEvents = True
End Sub