OVH Cloud OVH Cloud

Atteindre une cellule en fonction de la date.

5 réponses
Avatar
Nicolas
Bonsoir,

Je voudrais qu'Excel se place automatiquement sur une cellule en fonction de
la date du jour.
En fait, sur un planning, j'ai donné un nom à chaque semaine (sélection de 5
jours) et il faudrait qu'Excel se place sur la semaine en cours en fonction
de la date d'ouverture du fichier.

J'ai fait des essais (avec les mois) avec:

Private Sub Workbook_Open()
Application.Goto Reference:="Février", Scroll:=True
End Sub

C'est ok mais il faudrait faire le calcul avec la date pour déterminer la
semaine (ça fera 52 lignes ...), et là je trouve pas.

Qq a-t-il une idée ?

5 réponses

Avatar
michdenis
Bonsoir Nicolas,


Si tu expliquais comment tu as créé ton classeur ?

Le nom de tes feuilles représente des mois... semaine...autre chose ?

Si toutes tes feuilles ont une structure de données similaires, Dans quelle colonne se trouve tes dates ? Ces cellules
ont-elles reçu un format "date" ?

Qu'est-ce que tu veux avoir à l'écran, dès que ton classeur s'ouvre ? Exemple : si la date retenue est en A50, Est-ce
que la cellule A50 doit se retrouver dans le coin supérieur gauche de l'écran ( comme la cellule A1 )?



Salutations!





"Nicolas" a écrit dans le message de news:3fb2b368$0$235$
Bonsoir,

Je voudrais qu'Excel se place automatiquement sur une cellule en fonction de
la date du jour.
En fait, sur un planning, j'ai donné un nom à chaque semaine (sélection de 5
jours) et il faudrait qu'Excel se place sur la semaine en cours en fonction
de la date d'ouverture du fichier.

J'ai fait des essais (avec les mois) avec:

Private Sub Workbook_Open()
Application.Goto Reference:="Février", Scroll:=True
End Sub

C'est ok mais il faudrait faire le calcul avec la date pour déterminer la
semaine (ça fera 52 lignes ...), et là je trouve pas.

Qq a-t-il une idée ?
Avatar
isabelle
bonjour Nicolas,

si les toutes les dates de l'année sont inscrit sur la feuille,

Private Sub Workbook_Open()
Application.Goto Range(Cells.Find(Date).Address), Scroll:=True
End Sub

isabelle


Bonsoir,

Je voudrais qu'Excel se place automatiquement sur une cellule en fonction de
la date du jour.
En fait, sur un planning, j'ai donné un nom à chaque semaine (sélection de 5
jours) et il faudrait qu'Excel se place sur la semaine en cours en fonction
de la date d'ouverture du fichier.

J'ai fait des essais (avec les mois) avec:

Private Sub Workbook_Open()
Application.Goto Reference:="Février", Scroll:=True
End Sub

C'est ok mais il faudrait faire le calcul avec la date pour déterminer la
semaine (ça fera 52 lignes ...), et là je trouve pas.

Qq a-t-il une idée ?


Avatar
AV
Pour éviter un plantage si, à l'enregistrement, la feuille active n'est pas
celle contenant les dates :
A adapter : nom de la feuille - plage d'examen du Find

Private Sub Workbook_Open()
Application.Goto Range("Feuil1!" & [Feuil1!A1:IV65536].Find(Date).Address)
End Sub

AV
Avatar
gb
Bonjour Nicolas.
Voici une autre façon de faire:

Public Sub SelectNomDeLaSemaine()
'Si chaque semaine porte un nom, il suffit de lister
'ces 52 noms quelquepart sur une colonne, ici de I1 à I52
Set ListeDesSemaines = Range("I1:I52")
NoSemaine = CInt(Format(Date, "ww", vbMonday, vbFirstFourDays))
NomDeLaSemaine = ListeDesSemaines.Item(NoSemaine)
Range(NomDeLaSemaine).Select
End Sub

GB
Avatar
Nicolas
"gb" a écrit dans le message de
news:
Bonjour Nicolas.
Voici une autre façon de faire:

Public Sub SelectNomDeLaSemaine()
'Si chaque semaine porte un nom, il suffit de lister
'ces 52 noms quelquepart sur une colonne, ici de I1 à I52
Set ListeDesSemaines = Range("I1:I52")
NoSemaine = CInt(Format(Date, "ww", vbMonday, vbFirstFourDays))
NomDeLaSemaine = ListeDesSemaines.Item(NoSemaine)
Range(NomDeLaSemaine).Select
End Sub

GB


Merci beaucoup, ça fonctionne très bien.


Je l'ai adapté comme ceci:

Private Sub Workbook_Open()
Set ListeDesSemaines = Range("A23:A74")
NoSemaine = CInt(Format(Date, "ww", vbMonday, vbFirstFourDays))
NomDeLaSemaine = ListeDesSemaines.Item(NoSemaine)
Application.Goto Reference:=(NomDeLaSemaine), Scroll:=True
End Sub

La bonne semaine est automatiquement affichée à l'ouverture du planning.