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ènementEst-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...
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
Merci de votre aide.
Partager