Bonjour,
Je travaille sur un planning qui répartit des activités en fonction de certains critères pour un goupe de personnes. Ce travail se fait sur un fichier annexe.
Le fichier Planning contient une macro évènementielle qui empêche l'écriture de données les jours fériés et les we. Tout cela fonctionne fort bien, mais à la fin, je dois aller copier les activités réparties et les copier dans mon planning.
Or cette dernière opération dure près de 2 mn, pour moi c'est une éternité
Il y a près de 3000 cellules à copier coller
Voici la macro évènement
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
''''''''''''''EMPECHER L ECRITURE LES WE & FERIES
Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet
Application.ScreenUpdating = False      'Empêche l'actualisation de l'écran
Application.EnableAnimations = False    'Cache le déroulement => Accélère
Dim c As Range
On Error Resume Next
    Static noEvents As Boolean
    If noEvents Then Exit Sub
    Set plg = Intersect(Intersect(Target, [C:AG]), [3:120])
    For Each c In plg
        If Weekday(Cells(3, c.Column), vbMonday) > 5 Or Application.CountIf([FERIES], Cells(3, c.Column)) > 0 Then
            noEvents = True
            c.Value = Empty
            noEvents = False
        End If
    Next c
On Error Resume Next
Application.ScreenUpdating = True
Application.EnableAnimations = True
End Sub
Est-ce quelqu'un a une solution pour accéler la chose svp, d'autant que si l'utilisateur s'impatiente et echap, le fichier des activités ne se ferme pas et l'utilisateur ne doit pas le voir et s'il l'enregistre, je perds toutes les formules...
Merci de votre aide.