Tout d'abord, je te remercie pour ta réponse GMK !
Ensuite, je n'utilise que rarement la VBA, le moins possible pour être honnête car je n'ai pas trop le temps d'approfondir cette compétence.
Cependant je me suis permis de corriger la ligne suivante :
If Not Intersect(Target, Range(Cells(14, 2), Cells(Range("A" & Rows.Count).End(xlUp).Row, _ 'ici ce devrait être Cells(13, 2)
La valeur de la plus longue série de l'activité 1 ne semblait pas se mettre à jour lorsque qu'une croix y était ajoutée jusqu'à ce qu'une autre ligne soit modifiée.
J'attends un commentaire confirmant que je n'ai pas fait de bêtise et je clos mon sujet !
EDIT : Ah .. Aussi, et c'est l'une des raisons pour lesquelles je suis nul en VBA, c'est que dans ma version originale, le tableau dans lequel faire les croix se trouve dans une autre page que celle reportant les paliers. Je n'arrive pas à adapter ton code pour range l'autre feuille. J'ai essayé avec :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Worksheets("Suivi").Range(Cells(3, 2), Cells(Worksheets("Suivi").Range("A" & Rows.Count).End(xlUp).Row, _ 'mon tableau de croix étant dans une feuille dédiée se nommant "Suivi", la première croix possible est à cette adresse
Cells(2, Columns.Count).End(xlToLeft).Column))) Is Nothing Then
Application.EnableEvents = False
tablo = Worksheets("Suivi").Range(Cells(3, 2), Cells(Worksheets("Suivi").Range("A" & Rows.Count).End(xlUp).Row, _ 'même commentaire
Cells(2, Columns.Count).End(xlToLeft).Column))
For i = 1 To UBound(tablo, 1)
cum = 0: cumM = 0
For j = 1 To UBound(tablo, 2)
If UCase(tablo(i, j)) = "X" Then
cum = cum + 1
If cum > cumM Then
cumM = cum
End If
ElseIf tablo(i, j) = "" Then
cum = 0
End If
Next j
Range("M" & i + 1) = cumM 'j'ai gardé la même colonne que la version allégée
Next i
End If
Application.EnableEvents = True
End Sub