XL 2019 Comment Accélérer cette macro

pat66

XLDnaute Impliqué
Bonjour Le forum,

j'ai besoin d'aide pour accélérer cette macro, pensez vous que cela soit possible et auriez vous la gentillesse de me dire comment faire ?
Merci d'avance pour votre temps
Patrick

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Application.Cursor = xlWait 'sablier
Application.Calculation = xlCalculationManual
If Not Application.Intersect(Target, Range("AE5")) Is Nothing Then
Rows("31:50").EntireRow.Hidden = False
If Range("ae5").Value = 6 Then Rows("31:50").EntireRow.Hidden = True
If Range("ae5").Value = 9 Then Rows("34:50").EntireRow.Hidden = True
If Range("ae5").Value = 12 Then Rows("37:50").EntireRow.Hidden = True
If Range("ae5").Value = 15 Then Rows("40:50").EntireRow.Hidden = True
If Range("ae5").Value = 20 Then Rows("45:50").EntireRow.Hidden = True
If Range("ae5").Value = 25 Then Rows("50:50").EntireRow.Hidden = True

If Range("AE5") <> "9" Then
'Columns("AT").EntireColumn.Visible = False
'Else
Columns("AT").EntireColumn.Hidden = True
End If
If Range("AS17").Value <> "0" And Range("AE5").Value <> "9" Then
ret = MsgBox("Si vous changez la durée d'utilisation, le montant sera réinitialisé ! ", vbYesNo + vbQuestion, "PL")
If ret = vbYes Then
Range("AS17").Value = 0
Else
Range("AE5").Value = 9
End If
End If
End If
Application.ScreenUpdating = True
Application.Cursor = xlDefault 'sablier
Application.Calculation = xlCalculationAutomatic
' If Target.Address <> "$AE$5" Then Exit Sub
' If Target.Value = "9" Then
' ActiveSheet.Shapes("OK").Visible = True
' Else
' ActiveSheet.Shapes("OK").Visible = False
' End If
End Sub
 

pat66

XLDnaute Impliqué
Bonsoir le forum

et bien je suis ravi de toutes solutions et de l'intérêt que vous manifestez à mon égard, j'ai testé
toutes ces solutions certes l'amélioration n'est pas significative, mais alors j'adore la compression du style de Staple1600

Je crois que je vais opter pour sa formule simplifiée, à savoir
Set r = [A1]: Rows("31:50").Hidden = 0: Rows(r.Value + 25 & ":50").Hidden = -1

En tout cas, je garde précieusement toutes vos solutions qui se valent bien à quelques centièmes de secondes près ;););)

merci merci merci

Patrick
 

Discussions similaires

Réponses
17
Affichages
251

Statistiques des forums

Discussions
311 729
Messages
2 081 971
Membres
101 852
dernier inscrit
dthi16088