Bonjour.
Votre procédure n'aurait elle pas été écrite dans le module d'un autre objet Worksheet que celui qui représente la feuille où ça devrait œuvrer, au moins, voire dans un module standard ?
Oui effectivement, je m'en suis rendue compte après coup.
La procédure s'appelle, ce qui est bien, par contre j'essaie de rendre myRange dynamique :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Colonne1 As Integer
Dim Colonne2 As Integer
Dim Colonne3 As Integer
Dim Colonne4 As Integer
Dim myRange As Range
Dim maSomme As Integer
Dim Ligne1 As Integer
Ligne1 = 6
Colonne1 = 59
Colonne2 = 73
Colonne3 = 74
Colonne4 = 81
'Set myRange = Worksheets("Équipe C").Range("BG" & Ligne1 & ":BT" & Ligne1)
Si je met celui-ci, dès que j'atteint 84 ça reste 84 tout le temps puisque les colonnes ne changent pas et
Set myRange = Worksheets("Équipe C").Range(Colonne1 & Ligne1 & ":" & Colonne2 & Ligne1)
Si je met celui-ci, ça ne fonctionne pas, ça me donne toujours 0 et pourtant Colonne1 me donne bien 59 et Colonne2 me donne 73 mais ça ne fait pas le calcul
For Colonne1 = 59 To 365
maSomme = Application.WorksheetFunction.Sum(myRange)
If maSomme = 84 Then
Range(Colonne3 & Ligne1 & ":" & Colonne4 & Ligne1).Locked = True
Else
Range(Colonne3 & Ligne1 & ":" & Colonne4 & Ligne1).Locked = True
End If
Colonne1 = Colonne1 + 1
Colonne2 = Colonne2 + 1
Colonne3 = Colonne3 + 1
Colonne4 = Colonne4 + 1
Next
End Sub