BOnjour
il y a quand même bcp de boucles dans tes macros...
mais on peut simplifier certaines choses... et surtout des choses qui prennent du temps
ici par exemple :
Sub verif_nok_avec_com()
'verif que tous les NOK ont un com avant de lancer
Dim j As Integer
Dim repnok2 As String
repnok2 = "NOK"
For j = 3 To 23
Cells(j, 34).Select
If Cells(j, 34) = repnok2 Then
Cells(j, 35).Select
If Cells(j, 35) = 0 Then
MsgBox "verifier que tous les audits NOK ont un commentaire"
GT = 1
Exit Sub
Else
End If
Else
End If
Next
End Sub
A quoi servent les
Cells(j, 34).Select
Cells(j, 35).Select
Tu peux supprimer tout cela...
tu peux aussi simplifier ceci :
For i = 3 To 202
If Cells(i, 2) = "" Then
Cells(i, 6) = 0
End If
If Cells(i, 4) = "X" Then
Cells(i, 6) = 0
End If
Call BarreDeProgression
Next
en
For i = 3 To 202
If Cells(i, 2) = "" OR Cells(i, 4) = "X" Then Cells(i, 6) = 0
Call BarreDeProgression
Next
ensuite comme tu as des calculs matriciels dans tes cellules tu pourrais mettre au début d'exécution du code
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
et ceci à la fin
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Si tu n'as pas besoin de résultats de calcul dans l'exécution du code
Fred