Lenteur execution

Bonjour à tous,

J'ai un fichier excel que je modifie petit à petit, mais je me rend compte qu'il est lent a l'exécution.

Je crois que je pourrais simplifier les codes mais je ne sais pas comment.

D'avance merci pour vos conseils.

Et meilleurs vœux pour cette nouvelle année.

17aide-memoire-all.xlsm (631.19 Ko)

Bonjour,

Vous réalisez beaucoup d'opérations de mise en forme qui prennent du temps... Je vous conseille d'ajouter en début de macro :

Application.ScreenUpdating = False 'Désactive l'affichage le temps d'éxécuter le code
Application.Calculation = xlCalculationManual 'Désactive le recalcul auto des formules Excel

Et en fin de macro (avant le End Sub) :

Application.Calculation = xlCalculationAutomatic

Merci pour la réponse rapide.

C'est vrai que cela va plus vite,

Cependant, je souhaite que cela change sans devoir couper la fenêtre de choix.

Salut Damsa,

Salut Pedro,

quelques lignes dans l'USF 'Profile' pour simplifier le début...

Private Sub Choix_type_Change()
'
Dim tType(), tCol()
'
ReDim tType(14)
ReDim tCol(14)
'
If Len(Me.Choix_type.Text) = 1 Then
    Me.Choix_type.Text = ""
    Exit Sub
End If
'
tType = Array("IPE", "IPE A", "IPE AA", "IPE O", "IPN", "HEA", "HEAA", "HEB", "HEM", "HE", "UPE", "UPN", "L égal", "L inégal")
tCol = Array("A", "R", "AH", "AX", "BN", "CE", "CW", "DM", "EE", "EU", "FK", "GA", "GP", "GZ")
For x = 0 To 13
    If Me.Choix_type.Text = tType(x) Then sCol = tCol(x)
Next
With Sheets("Profilés")
    Me.Choix_profile.List = .Range(sCol & "4:" & sCol & .Range(sCol & Rows.Count).End(xlUp).Row).Value
End With
'
End Sub

Private Sub UserForm_Initialize()
'
Me.Choix_type.List = WorksheetFunction.Transpose(Array("IPE", "IPE A", "IPE AA", "IPE O", "IPN", "HEA", "HEAA", "HEB", "HEM", "HE", "UPE", "UPN", "L égal", "L inégal"))
'
End Sub

Pour continuer, prière de laisser l'accès aux autres feuilles...

Bonne année à tous!

A+

Merci,

Je viens d’intégrer le code et modifié pour mes besoins

Rechercher des sujets similaires à "lenteur execution"