XL 2019 (RESOLU) Date de dernière modification d'une plage de cellule

IderMTC

XLDnaute Nouveau
Bonjour,

J'ai un fichier de planning pour gérer mes équipes sur Excel.
Comme je ne souhaite pas redonner le planning à tout le monde s'il n'a pas changé entre temps, je me suis créé une formule en colonne "AK" qui me dit la date de dernière modification de la ligne de chaque personne. J'ai mis cette formule.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 1 Then Cells(Target.Row, "AK") = Now()
End Sub


Malheureusement je pense qu'elle calcule sur une ligne "infinie", donc souvent Excel mouline .... voir plante et s'eteint directement. J'ai remarqué également qu'il n'apprécie pas du tout si je modifie une cellule et en sort en utilisant les fleches directionnelles du clavier ...

Je mets le fichier en ligne mais évidemment mon fichier réel est bien plus lourd avec d'autres formules un peu partout.

Ma question est simple :
Y-a t-il moyen de rendre la formule plus "légère" afin de moins faire mouliner la machine ?
Par exemple de ne calculer les modifications qui touchent la ligne, que dans le plage "planning" c'est à dire de la colonne "D" à la colonne "AH"
Et de ne le faire que sur les lignes en regard avec les personnes, donc de la ligne 6 à la ligne 45?

Merci pour votre aide :)
 

Pièces jointes

  • Planning test.xlsm
    138.1 KB · Affichages: 7

patricktoulon

XLDnaute Barbatruc
Bonjour
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row > 5 And Target.Row <= 45 Then
        IF Not Intersect([D:AH],target) is nothing then 
Application.EnableEvents = False
        Cells(Target.Row, "AK") = Now()
    End If
      End If
Application.EnableEvents = True
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
313 193
Messages
2 096 081
Membres
106 491
dernier inscrit
schneider