VBA Excel - Se positionner sur date du jour

stupidophil -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

Je bute sur un petit truc dans une macro excel.
Sur ma feuille, j'ai tout le planning de l'année.
Ca se présente sous cette forme:
1ère ligne, les jours de lundi à vendredi (sous la forme "ven 28 oct")
2ème ligne: planning matin
3ème ligne: planning après-midi
et tout de suite en dessous, on recommence avec la semaine suivante.

Comment faire pour qu'à l'ouverture de la feuille, on aille directement sur la ligne de la semaine en cours?

D'avance, un grand merci!

2 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,
    Clic droit sur l'onglet de la feuille concernée / Visualiser le code, dans la fenêtre visual basic ouverte, copier/coller ce code :

    Private Sub Worksheet_Activate()
    D = CDate(Date)
    D = Int(D)
    num_sem = DateSerial(Year(D + (8 - Weekday(D)) Mod 7 - 3), 1, 1)
    num_sem = 3 * (((D - num_sem - 3 + (Weekday(num_sem) + 1) Mod 7)) \ 7 + 1)
    Range("A" & num_sem).Select
    End Sub


    sources michel_m d'après Laurent Longre
    0
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    Exemple colonne A tu as tes dates peu importe le format, le principal que ces dates correspondent bien à un jour, mois et année
    ce code collé dans les propriétés de la feuille concernée, sélectionnera la date du jour en colonne A dès que la feuille sera activée

    Private Sub Worksheet_Activate()
    Dim x
    x = Date
    With ActiveSheet.Range("A:A")
    Set c = .Find(x, LookIn:=xlValues)
    If Not c Is Nothing Then
    firstAddress = c.Address
    End If
    End With
    Range(firstAddress).Select
    End Sub

    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0