Bonjour,

Je cherche à améliorer un fichier avec une macro.
Sur ce fichier il y a déja une macro qui permet de calculer un score (appelé GIR et compris entre 1 et 6) dans la colonne AE (ligne 5 à 101) selon le nombre de valeurs A, B et C dans la ligne entre les colonnes I et AD.
Si je change les A,B et C, j'obtiens un nouveau score en cliquant sur la macro.

Ce que j'aimerai, c'est lorsque j'utilise la macro de calcul du score, pouvoir également sauvegarder automatiquement l'ancien score, avec inscription de la date du calcul (afin qu'il ne soit pas juste effacé et remplacé par un nouveau score). Bien-sûr il n'y aurait sauvegarde que si la valeur change via la macro de calcul.

J'ai déjà un script qui donne un résultat partiel mais seulement sur la ligne sélectionnée :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Ancien_GIR = Cells(ActiveCell.Row, 31)
 
Range("AN" & ActiveCell.Row & " :AO" & ActiveCell.Row).Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
If Cells(ActiveCell.Row, 31) <> Ancien_GIR Then  '( à ajouter ici : <> en excluant la valeur 0 ou rien)
Cells(ActiveCell.Row, 40) = Ancien_GIR
Cells(ActiveCell.Row, 41) = Date
Range(Cells(ActiveCell.Row, 40), Cells(ActiveCell.Row, 41)).Font.ThemeColor = xlThemeColorLight1
Range(Cells(ActiveCell.Row, 40), Cells(ActiveCell.Row, 41)).Font.Bold = False
End If
A chaque nouveau calcul sur la ligne sélectionnée, si la valeur à changé en AE, l'ancienne valeur est automatiquement copiée en AN avec inscription de la date du calcul en AO. Et si je fais un nouveau calcul et que la valeur a de nouveau changée, tout se décale vers la droite, je sauvegarde ainsi toutes les valeurs (si elles changent).

Or je souhaite que cette sauvegarde des scores se fasse sur les cellules comprise entre la ligne 5 et la ligne 101 sur la colonne AE (pour les cellules de la colonne AE dont la valeur a changé). Et non pas juste sur la ligne sélectionnée.

Comment puis je modifier ce script ?

Merci d'avance pour toute aide !

Je peux joindre le fichier si besoin.

Bien cordialement,

Chris