Re : planning
bonjour,
J'ai rajouté 2 lignes entre la 4 et la 5 et j'ai modifié les deux procédures suivantes :
Private Sub CommandButton1_Click()
' ACCEDER A LA DATE
Dim Colonne, diff
Dim Colonne1
'Stop
If Not IsDate(Me.TextBox1) Or Not IsDate(Me.TextBox3) Then
MsgBox "dates non conformes"
ElseIf CDate(Me.TextBox1) < Range("E7") Then
MsgBox "Date de départ hors limite"
ElseIf CDate(Me.TextBox3) > Cells(7, Columns.Count).End(xlToLeft) Then
MsgBox "Date de fin hors limite"
ElseIf CDate(Me.TextBox1) > CDate(Me.TextBox3) Then
MsgBox "La date de départ doit être inférieure ou égale à la date de fin"
ElseIf Me.ComboBox1.ListIndex = -1 Then
MsgBox "Veuillez choisir un nom"
Else
L = Me.ComboBox1.ListIndex + 9
diff = CDate(Me.TextBox1) - CDate(Range("E7"))
Colonne = 5 + diff * 2
If Me.OptionButton2 = True Then Colonne = Colonne + 1
diff = CDate(Me.TextBox3) - CDate(Range("E7"))
Colonne1 = 5 + diff * 2
If Me.OptionButton1 = True Then ' Matinée
Colonne1 = Application.Max(Colonne, Colonne1 - 1)
Else
Colonne1 = Colonne1 + 1
End If
Range(Cells(L, Colonne), Cells(L, Colonne1)).Select
UserForm1.TextBox1 = Me.ComboBox1 'Cells(L, 1).Value 'Correspond la cellule active de la colonne A
UserForm1.Label2 = L
UserForm1.Label3 = J
Unload Me
UserForm1.Show vbModeless
End If
End Sub
et la procédure suivante :
Private Sub UserForm_Initialize()
With ActiveSheet
ComboBox1.List = .Range("A9:A" & .Range("A65536").End(xlUp).Row).Value
End With
'Me.TextBox1 = "04/01/2016"
'Me.TextBox3 = "15/01/2016"
ComboBox1 = ActiveCell
L = ActiveCell.Row
'ActiveCell.Offset(1, 0).Activate
TextBox2.Visible = False
Me.OptionButton3 = True
End Sub