Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim L As Worksheet 'déclare la variable L (onglet Liste)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim D As Object 'déclare la variable D (Dictionnaire)
Dim I As Integer 'déclare la variable I (Incrément)
Dim TT As Variant 'déclare la variable TT (Tableau Temporaire)
Set L = Sheets("LISTE") 'définit l'onglet L
If Sh.Name = "QUAND JE CLIQUE FEUILLE" Then 'condition : si l'onglet actié se nomme "QUAND JE CLIQUE FEUILLE"
TV = L.Range("C5").CurrentRegion ' définit le tableau des valeurs TV
Set D = CreateObject("Scripting.dictionary") 'définit le dictionnaire D
For I = 2 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV (en partant de la seconde)
D(TV(I, 1)) = "" 'alimente le dictionnaire TV avec les données de la colonne 1 du tableau des valeurs TV
Next I 'prochaine ligne de la boucle
TT = D.Keys 'récupère dans le tableau temporaire TT la liste des éléments de D sans doublon
For I = 0 To UBound(TT) 'boucle sur tous les éléments du tableau temporaire TT
'si le nomre de fois que l'élément apparait dans la colonne C de l'onglet L est supérieur à 6, message
If Application.WorksheetFunction.CountIf(L.Columns(3), TT(I)) > 6 Then _
MsgBox " Vous avez rentré un nombre supérieur d'étapes associé pour la station " & Chr(34) & TT(I) & Chr(34) & ". Le nombre limite pour chaque station est de 6."
Next I 'prochain élément de la boucle
End If 'fin de la condition
End Sub