Private Sub CommandButton8_Click()
'Plan Tables
range("A520").Select
'Code qui trie les réservants par ordre de Tables puis complètre le plan de table
Dim Arr, S$, SS$, i%, k%, iLR%, Obj As OLEObject, rng As range
Worksheets("Feuil1").Protect Password:="BJ/CROUZET", UserInterfaceOnly:=True
TriS 3
DoEvents
iLR = Cells(1).End(xlDown).Row
Arr = range(Cells(2, 1), Cells(iLR, 4)).Value
k = 1
On Error GoTo GESTERR
For i = 1 To UBound(Arr)
SS = ""
If k <> Arr(i, 3) Then
Set Obj = Worksheets("Feuil1").OLEObjects("TextBox" & k)
S = Left(S, Len(S) - 1)
Obj.Object.Value = S
S = ""
k = Arr(i, 3)
SS = IIf(Arr(i, 4) > 1, " (" & Arr(i, 4) & ")", "")
Prenom = Arr(i, 2)
Init = Left(Prenom, 1) '1° lettre du Prénom
S = S & Arr(i, 1) & " - " & Init & SS & vbCrLf
Else
k = Arr(i, 3)
SS = IIf(Arr(i, 4) > 1, " (" & Arr(i, 4) & ")", "")
Prenom = Arr(i, 2)
Init = Left(Prenom, 1) '1° lettre du Prénom
S = S & Arr(i, 1) & " - " & Init & SS & vbCrLf
End If
Next
Set Obj = Worksheets("Feuil1").OLEObjects("TextBox" & k)
Obj.Object.Value = Left(S, Len(S) - 1)
TriS 16
For Each oobjet In Me.OLEObjects
If TypeOf oobjet.Object Is msforms.TextBox Then
If oobjet.Object.Value = vbNullString Then oobjet.Visible = False Else oobject.Visible = True
End If
Next oobjet
Exit Sub
GESTERR:
Resume Next
End Sub