Sub Macro1()
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim b As String 'déclare la variable b
Dim li As Range 'déclare la variable li (LIgne)
Dim celi As Range 'déclare la variable celi (CEllule de la LIgne)
Dim a As String 'déclare la variable a
With Sheets("Cycle Planning") 'prend en compe l'onglet "Cycle Planning"
dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée dl de la colonne 1 (=A)
Set pl = .Range("A3:A" & dl) 'définit la plage pl
Set pl = pl.SpecialCells(xlCellTypeConstants) 'redéfinit la plage pl (sans les cellules vides)
End With 'fin de la prise en compe de l'onglet "Cycle Planning"
For Each cel In pl 'boucle 1 : sur toutes les cellules cel de la plahe pl
b = "" 'réinitialise la variable b
If cel.Value <> "Employee / Days" Then 'condition 1 : si la valeur de la cellule est différente de "Employee / Days"
Set li = Range(Cells(cel.Row, 2), Cells(cel.Row, 22)) 'définit la ligne li
For Each celi In li 'boucle 2 sur toutes les cellules celi de la ligne li
Select Case celi.Value 'agit en fonction de la valeur de la cellule celi
Case "", "Astr", "AstrW" 'cas vide, "Astr" et "AstrW"
a = "," 'définit la variable a
Case Else 'autres cas
a = 1 'définit la variable a
End Select 'fin de l'acion en fonction de la valeur de la cellule celi
b = IIf(b = "", a, b + a) 'définit la variable b
Next celi 'prochaine cellule de la boucle 2
For i = LBound(Split(b, ",")) To UBound(Split(b, ",")) 'boucle fur toutes les valeurs du tableau split(b,",")
If Len(Split(b, ",")(i)) >= 7 Then 'condition 2 : si le nombre de caractères de la valeur de la boucle est supérieur ou égal à 7
MsgBox "Voir problème sur cette ligne!" 'message
cel.EntireRow.Select 'sélectionne la ligne
Exit Sub 'sort de la procédure
End If 'fin de la condition 2
Next i 'prochaine valeur tu tableau spli(b, ",")
End If 'fin de la condition 1
Next cel 'prochaine cellule de la boucle 1
MsgBox "Aucune anomalie dans le tableau" 'message de fin
End Sub