Private Sub GoCellDay()
Dim C As String
With ActiveSheet
If Time < .[K3] Then
C = "I"
ElseIf Time < .[M3] Then
C = "K"
Else
C = "M"
End If
.Cells(Day(Date) + 3, C).Select
End With
End Sub
C'est en fonction de la date de la colonne "H"Mais le calcul Cells(Day(Date) + 3, C) est faux puisque tu as 2 lignes par jour, une ligne M et un ligne S.
Qu'est-ce qui fait qu'on doit se positionner sur la ligne M ou la ligne S ?
Maintenant la position du curseur devrait être en M18Mais le calcul Cells(Day(Date) + 3, C) est faux puisque tu as 2 lignes par jour, une ligne M et un ligne S.
Qu'est-ce qui fait qu'on doit se positionner sur la ligne M ou la ligne S ?
Alors le calcul est bon.C'est en fonction de la date de la colonne "H"
A partir de 19h00 oui. Mais il n'est pas encore 19h00.Maintenant la position du curseur devrait être en M18
Le matin jusqu'a 9:00 position colonne "I"Alors le calcul est bon.
A partir de 19h00 oui. Mais il n'est pas encore 19h00.
Ou alors, donne la règle en français.
Private Sub GoCellDay()
Dim C As String
With ActiveSheet
If Time < .[I3] Then
C = "I"
ElseIf Time < .[K3] Then
C = "K"
Else
C = "M"
End If
.Cells(Day(Date) + 3, C).Select
End With
End Sub
Merci, je vais essayer demain matin pour voir si la feuille s'ouvre bien sûr le 16 et sur la colonne "I"VB:Private Sub GoCellDay() Dim C As String With ActiveSheet If Time < .[I3] Then C = "I" ElseIf Time < .[K3] Then C = "K" Else C = "M" End If .Cells(Day(Date) + 3, C).Select End With End Sub
Private Sub GoCellDay()
Dim C As String
With ActiveSheet
If Time < .[I3] Then
C = "I"
ElseIf Time < .[K3] Then
C = "K"
Else
C = "M"
End If
.Cells(Day(Date) + 3, C).Select
End With
End Sub
Private Sub Workbook_Open()
Worksheets(Month(Date)).Select
Call GoCellDay
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'ne rien faire si la feuille active n'est pas celle du mois en cours
If Sh.Index = Month(Date) Then Call GoCellDay
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
ActiveSheet.[A1].Select
End Sub