Macro très lente
Bonjour,
Je joins mon fichier excel. Les formules et le peu de code sont terminés, j'ai un bouton pour changer des valeurs/calculs par année mais c'est très lent entre chaque changement, une idée de comment l'accélérer? Environ 16 à 20 secondes actuellement.
Je ne m'y connais pas trop en VBA...
(J'ai du supprimer pas mal de choses pour envoyer le fichier. Le dernier onglet descend jusqu'en 2030 normalement et il y a des graphiques en plus pour la visualisation des données. Enlever tout ça n'a pas modifié la vitesse d'exécution)
Merci d'avance,
Bastien
Bonjour Bastien88
Tu peux désactiver le calcul automatique le temps d'inscription des jours
Sub generer_calendrier()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
annee = SpinButton_annee.Value
'Suppression
Range("A3:A380").ClearContents
An = SpinButton_annee.Value
L = 2
For Mois = 1 To 12
For J = 1 To Day(DateSerial(An, Mois + 1, 1) - 1)
L = L + 1
Range("A" & L + 8).Value = DateSerial(An, Mois, J)
Next
Next
'
Application.ScreenUpdating = treu
Application.Calculation = xlCalculationAutomatic
End SubCa permet d'aller nettement plus vite
@+
Bonjour,
Avec toutes les formules présentes dans le classeur, pas étonnant...
Passe en calcul manuel au début, puis en auto à la fin :
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
End Withet en fin :
Application.Calculation = xlCalculationAutomaticPeut-être?
Oupsss, j'aurais dû, moi aussi, passer en "Manuel"...
Bonjour Bruno
Bonjour Bastien88
Tu peux désactiver le calcul automatique le temps d'inscription des jours
Sub generer_calendrier() Application.Calculation = xlCalculationManual Application.ScreenUpdating = False annee = SpinButton_annee.Value 'Suppression Range("A3:A380").ClearContents An = SpinButton_annee.Value L = 2 For Mois = 1 To 12 For J = 1 To Day(DateSerial(An, Mois + 1, 1) - 1) L = L + 1 Range("A" & L + 8).Value = DateSerial(An, Mois, J) Next Next ' Application.ScreenUpdating = treu Application.Calculation = xlCalculationAutomatic End SubCa permet d'aller nettement plus vite
@+
C'est parfait ! Merci beaucoup!
Je comprenais pas ce qui prenait autant de temps à faire.
Bonne journée !