Bonjour à tous et à toutes,

J'ai un classeur pour gérer ma cave (13 colonnes / 177 lignes actuellement / 1 seule colonne avec calcul basique)

J'ai plusieurs macros pour la plupart sont très longues à s’exécuter
Par exemple celle ci dessous s’exécute en 43 secondes avec le fait qu'au bout de 30 secondes environ j'ai un problème d'affichage du haut de ma feuille ou j'ai mis des boutons de déclenchement:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Sub Nouvelle_entrée()
'
' Nouvelle_entrée Macro
'
 
'
 
    Application.EnableEvents = False
 
    Application.ScreenUpdating = False
 
 
    Range("A12:M12").Select
    Selection.Copy
    Range("A12").Select
    Selection.Insert Shift:=xlDown
    Range("A12:M12").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("K12").Select
    ActiveCell.FormulaR1C1 = "=RC[-2]*RC[-1]"
 
    Range("A12").Select
    ActiveCell.Value = Date
 
    Application.EnableEvents = True
 
    Application.ScreenUpdating = True
 
 
 
 
End Sub
La ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Application.EnableEvents = False
Est liée au fait que pour une feuille j'ai la procédure suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Private Sub Worksheet_Change(ByVal Target As Range)
 
  Range("I12").Select
 If Not Intersect(Target, Columns("I")) Is Nothing Then
      Target.Offset(0, -8).Value = Date
  End If
 
End Sub
Enfin pour info, même une suppression de ligne dure longtemps.

Merci de votre aide.

Bonnes fêtes à tous et à toutes

C15nantes