Private Sub CommandButton_suivant_Click()
Dim p As MSForms.Page, c As Control, i As Integer, x As Long, T() As Variant
'Boucle sur chaque Checkbox de chaque Page du Multipage
For Each p In editer_un_incident_part2.MultiPage_KE.Pages
For Each c In editer_un_incident_part2.MultiPage_KE.Pages(p.Name).Controls
If TypeName(c) = "CheckBox" Then
If c.Value = True Then
i = i + 1
ReDim Preserve T(1 To i)
T(i) = c.Caption
End If
End If
Next c
Next p
"Si aucune checkbox cochée, message d'erreur
If i = 0 Then
Call MsgBox("Vous n'avez coché aucun system defects", vbExclamation, Application.Name)
"Si plus que 4 checkbox cochées, message d'erreur
ElseIf i > 4 Then Call MsgBox("Vous avez coché plus de 4 system defects", vbExclamation, Application.Name)
"Vérifie que si juste 1 2 ou 3 checkboxs sont cochées, la valeur de la 2è 3è et 4è cellule sera égale à Non applicable" Cela permet d'avoir aucune cellule vide
Else:
Do While UBound(T) < 4
i = i + 1
ReDim Preserve T(1 To i)
T(i) = "Non applicable"
Loop
End If
'Rempli les colonnes V à Y avec la valeur (caption) des checkboxs cochées
x = Columns(22).Find("", Cells(Rows.Count, 22), xlValues, , 1, 1, 0).Row
Cells(x, 22).Resize(1, Columns.Count - 21).Find("", Cells(x, Columns.Count), xlValues, , 2, 1, 0).Resize(1, UBound(T)).Value = T
End Sub