Worsheet_Change provoque freeze du fichier

Bonjour,

Lorsque je souhaite insérer des lignes/colonnes ou faire des copier/coller de formules dans mes onglet qui comprenne des Worksheet_Change, mon fichier freeze et je ne peux plus rien faire (la seule manip pour le faire défreezer est qu'il faut ouvrir un autre fichier Excel et cliquer dessus puis revenir sur le fichier...)

Le problème vient effectivement de là puisque lorsque je les supprime de mes codes, le fichier marche normalement.

Voici les codes VBA des worsheet :

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Count > 1 Then Exit Sub

If Not Application.Intersect(Target, Range("D30:D45")) Is Nothing Then
    test1
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Count > 1 Then Exit Sub
If Not Application.Intersect(Target, Range("c3")) Is Nothing Then
    test2
End If
 Sheets("Forecast").Activate
End Sub

Il y a t il un code VBA pour éviter ces freeze très gênant ? (Je ne sais pas si j'ai était claire)

Je peux faire parvenir un fichier en MP (les données ne devant pas trop être partagée).

Merci d'avance !

Alexis

Bonjour Alexis,

C'est le Application.ScreeUpdating = False qui freeze tout je pense. Essaie de l'enlever

J'ai l'impression que c'est bon !

Mais pour savoir, à quoi me servait :

Application.ScreeUpdating = False

Re

Cela permet de ne pas raffraichire l'écran lors de la macro.

La dans les macros "test" tu vas chercher des valeurs dans des feuilles differentes et si

Application.sceenupdating ni était pas le visuel à l'écran pourrait aller sur les autres feuilles.

CB60 a écrit :

Re

Cela permet de ne pas raffraichire l'écran lors de la macro.

La dans les macros "test" tu vas chercher des valeurs dans des feuilles differentes et si

Application.sceenupdating ni était pas le visuel à l'écran pourrait aller sur les autres feuilles.

Que dois-je faire alors ? Car il est vrai que sans cette formule, les insertions et copier/coller ne bug plus.

Mais c'est vrai que c'est assez dérangeant de voir le visuel changer lors de la saisie :/ Une autre formule pour contourner ou...?

Normalement, lorsque l'exécution de ton code est terminé, l'affichage redevient normal.

Sinon, mets les application.screenupdating=false, là où tu ne veux pas avoir le visuel. Lorsque tu veux ravoir un visuel, mets la valeur à True

Salut le forum

Déplace le après ton IF

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Count > 1 Then Exit Sub

If Not Application.Intersect(Target, Range("D30:D45")) Is Nothing Then
  Application.ScreenUpdating = False
    test1
  Application.ScreenUpdating = True
End If
End Sub

Mytå

Rechercher des sujets similaires à "worsheet change provoque freeze fichier"