VBA Excel - Se positionner sur date du jour

Fermé
stupidophil - 21 oct. 2010 à 13:19
Mike-31 Messages postés 18317 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 - 21 oct. 2010 à 13:53
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!


A voir également:

2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
21 oct. 2010 à 13:44
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
Mike-31 Messages postés 18317 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 076
Modifié par Mike-31 le 21/10/2010 à 13:55
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