XL 2019 Comment Accélérer cette macro

  • Initiateur de la discussion Initiateur de la discussion pat66
  • 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 !

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
 
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
 
- 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
221
Réponses
5
Affichages
248
Réponses
4
Affichages
186
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
492
Réponses
2
Affichages
157
Retour