ouvrir feuille selon date système

  • Initiateur de la discussion Initiateur de la discussion wasimd
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

W

wasimd

Guest
Bonsoir,

Je suis novice en VBA et macro et je galère depuis 2 jours; voici mon problème:

j'ai 53 feuilles (53 semaines) dans mon agenda où chaque feuille contient 7 colonnes (chacune avec la date du jour de la semaine exemple lundi 1 janvier 2009,...,dimanche 7 janvier 2009)
je veux utiliser une méthode (probablement macro VBA) qui permet d'ouvrir la feuille X (X entre 1 et 53) si la date d'aujourd'hui (date système) est existante dans cette feuille?
merci énormément pour votre aide.
 
Re : ouvrir feuille selon date système

Bonsoir à tous, wasimd

Si tes Feuilles se nomment "Semaine1" à "Semaine53", tu peux essayer dans "Workbook_Open" le code suivant:
Code:
Private Sub Workbook_Open()
    Sheets("Semaine" & Application.WorksheetFunction.WeekNum(Now)).Activate
End Sub
à l'ouverture du classeur, la feuille de la semaine en-cours sera ouverte... (Si j'ai bien compris)

A plus
 
Re : ouvrir feuille selon date système

Code:
Private Sub Workbook_Open()
    Sheets("Feuil" & Application.WorksheetFunction.WeekNum(Now)).Activate
End Sub
merci pour votre réponse, j'ai exécuté cette macro mais ça n'a rien donné en effet un message d'erreur apparaît :
"argument ou appel de procédure incorrect"
 
Re : ouvrir feuille selon date système

Bonjour, je ne sais pas comment tu as nommé tes feuilles mais j'ai prit pour acquis que c'est semaine1, semaine2..... semaine52. Si ce n'est pas le cas, renomme les ou adapte la formule 😉

Code:
Private Sub Workbook_Open()
Dim sem As String
Dim cejour As Date
cejour = Now 'la date d'aujourd'hui
sem = DatePart("ww", cejour) 'le # de semaine (1 à 52)
Sheets("Semaine" & sem).Select 'donc aujourd'hui, il select semaine15
End Sub
 
Re : ouvrir feuille selon date système

Bonjour, je ne sais pas comment tu as nommé tes feuilles mais j'ai prit pour acquis que c'est semaine1, semaine2..... semaine52. Si ce n'est pas le cas, renomme les ou adapte la formule 😉

Code:
Private Sub Workbook_Open()
Dim sem As String
Dim cejour As Date
cejour = Now 'la date d'aujourd'hui
sem = DatePart("ww", cejour) 'le # de semaine (1 à 52)
Sheets("Semaine" & sem).Select 'donc aujourd'hui, il select semaine15
End Sub


10000 merci cela fonctionne très bien, juste une tout petite chose : comment inclure le dimanche dans la semaine en cours , c'est à dire lorsque j'ouvre mon fichier le dimanche il m'affiche la semaine qui vient de passer et non pas la nouvelle semaine?
merci
 
Re : ouvrir feuille selon date système

bonjour,

wasimd, le PB vient du fait que dans excel la semaine commence le dimanche, et non le lundi.
à tester :
remplacer
Code:
cejour = Now
par
Code:
cejour = DateSerial(Year(Now), Month(Now), Day(Now) - 1)

a+
 
Re : ouvrir feuille selon date système

Tout simplement mettre un condition si cejour = dimanche alors semaine = semaine -1

Code:
Sub Macro1()
Dim sem As String
Dim sem2 As String
Dim cejour As Date
cejour = Now 'la date d'aujourd'hui
sem = DatePart("ww", cejour) 'le # de semaine (1 à 52)
sem2 = DatePart("w", cejour) 'ramène le jour (1 à 7)
If sem2 = 1 Then
sem = sem - 1
Sheets("Semaine" & sem).Select 'donc aujourd'hui, il select semaine15 et si on était dimanche, semaine14
Else
Sheets("Semaine" & sem).Select 'donc aujourd'hui, il select semaine15
End If
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

L
Réponses
1
Affichages
1 K
Lucien31
L
Réponses
9
Affichages
2 K
A
  • Question Question
Réponses
6
Affichages
811
afranchi08
A
P
Réponses
3
Affichages
2 K
Patmos
P
Réponses
2
Affichages
1 K
X
Réponses
4
Affichages
1 K
xpxpplus
X
Retour