Inscription de donnée dans des cellules après déclenchement evenementiel

Bonjour les excellents, voici le début de ma macro

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer

Starta = Timer

Application.Calculation = xlManual
Application.ScreenUpdating = False

Range("DC1") = "Year"
Range("DD1") = "Month"
Range("DE1") = "Week"
Range("DF1") = "Date"
Range("DG1") = "Real Machine Name"

mais lors de l'exécution évènementiel j'ai un message "la methode _Defaut de range a échoué" dès la ligne RANGE("DC1

alors que si je l'execute dans une sub normale pas de souci de ce coté là.

des idées?

bonjour,

worksheet_change est une procédure qui sera executée chaque fois qu'il y a une cellule de la feuille qui est modifiée/mise à jour. Or dans ta procédure tu modifies 5 cellules de la feuille, tu es parti dans une série d'appels en cascade qui feront planter ton code. Pour éviter cela, tu dois désactiver la gestion des événements avant de faire les mises à jour et la réactiver après.

Par exemple :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer

Starta = Timer

Application.Calculation = xlManual
Application.ScreenUpdating = False
Application.EnableEvents = false
Range("DC1") = "Year"
Range("DD1") = "Month"
Range("DE1") = "Week"
Range("DF1") = "Date"
Range("DG1") = "Real Machine Name"
Application.EnableEvents = True

Cependant, n'ayant pas ton fichier, je ne suis pas sûr qu'il n'y a pas un autre problème.

je ne connaissait pas cette instruction, je vais tester quand j'ai un moment

mais l'explication me parait convaincante

Rechercher des sujets similaires à "inscription donnee declenchement evenementiel"