Ouvrir un planning annuel à la date du jour

Bonjour à toutes et tous,

Nous avons crée un planning annuel de chantier.
Auriez-vous une astuce permettant d’ouvrir le document à la date du jour?

Copie de Planning poses 2024 version 1 26042024.xlsx (27,2 Ko)

Forum excel

1 « J'aime »

Bonjour ,
une proposition ou j’ai modifié la structure du tableau pour avoir des jour/date dans la même cellule (plus facile pour la macro )
Teste et dis moi .
Franck .
Copie de Planning poses 2024 version 1 26042024-1.xlsm (35,2 Ko)

Hello, un petit upgrade de ton fichier
en remettant au format d’origine les dates, avec juste une mise en forme personnalisée de l’affichage des dates et rajout d’une mfc pour les WE et jours fériés, et une mise ajour automatique du calendrier chaque année
Et un gros marqueur du jour au-dessus du planning

Copie de Planning poses 2024 version 1 26042024-1.xlsm (49,3 Ko)

avec mise a jour auto de la date du doc
Capture d'écran 2024-04-27 103750

et avec un gros marqueur du jour

1 « J'aime »

ceci suffit je suppose

Private Sub Workbook_Open()
     With Sheets("2024")                     'votre feuille
          r = Application.Match(CLng(Date), .Rows(16), 1)     'ligne avec les dates
          If IsNumeric(r) Then Application.Goto .Cells(1, r), 1     'se positionner
     End With
End Sub

1 « J'aime »

Bonjour,

placez ce petit code ci-dessous dans un module standard.

Sub Trouver_Date_Jour_Actuel_Planning() ' affiche la ligne de la date du jour à l'ouverture de l'onglet
 
For Each Cell In ActiveSheet.Range("C17:ND17")
    If Cell.Value = [Today()] Then
    Cell.Select
    End If
Next
 
End Sub

et dans le module de la feuille du planning vous placez ceci

Private Sub Worksheet_Activate()
 Trouver_Date_Jour_Actuel_Planning
End Sub

et cela devrait fonctionner.


@Rubis57, pourquoi utilisez-vous un boucle quand on sait trouver la cellule avec une formule ? Et quand vous avez trouvé cette cellule, vous pouvez quitter ce boucle avec un « exit for » au lieu de continuer

Bonjour Cow18

Chez moi cela fonctionne bien depuis longtemps.
Vous l’auriez modifier comment ?

je sais que cela fonctionne, mais … le reste, dès que vous avez trouvé « today », ne sert à rien

For Each Cell In ActiveSheet.Range("C17:ND17")
    If Cell.Value = [Today()] Then
    Cell.Select
    Exit for  '<<<<<<<<<<<<<<
    End If
Next