Je souhaite lorsque j'ouvre mon classeur qu'une feuille spéifique s'ouvre.
Je m'explique, je monte un fichier de travail et je souhaite que le classeur souvre sur la feuille correspondante à la semaine en cours j'ai donc créé une formule qui permet de mettre à jour automatiquement dans une cellule d'une feuille spécifique la semaine en cours.
Je souhaite donc que la macro VBA à l'ouverture d'excel ouvre la feuille qui à le meme nom que le resultat de la formule.
Re : Ouvrir une feuille excel en fonction d'une cellule.
Bonjour et bienvenue sur le forum
Et nos futures propositions, on les teste sur quoi?
Ah d'accord sur un fichier exemple joint dans ce fil par le demandeur
Comme j'avais cela sous le coude
Tu pourras tester sur la PJ que tu ne manqueras de de joindre
Code:
Function N_SEM(Jr As Date) As Long
Dim D As Date
D = DateSerial(Year(Jr - Weekday(Jr - 1) + 4), 1, 3)
N_SEM = Int((Jr - D + Weekday(D) + 5) / 7)
End Function
Sub a()
Application.Goto Sheets(CStr(N_SEM(Date))).[A1]
End Sub
Re : Ouvrir une feuille excel en fonction d'une cellule.
Re
Je viens d'ajouter un exemple de code pendant que tu ajoutais le fichier (Merci pour celui-ci d'ailleurs)
Voir le code dans mon précédent message
PS1: Le code précédent fonctionne si ta feuille se nomme 30
(car la semaine en cours cette semaine c'est 30) PS2: Suis sur un PC avec XL2003, je ne peux pas ouvrir les *.xlsm
Re : Ouvrir une feuille excel en fonction d'une cellule.
Re
Testé ainsi sur ta PJ en *.xls (merci)
Cela fonctionne chez moi
Code:
Function N_SEM(Jr As Date) As Long
Dim D As Date
D = DateSerial(Year(Jr - Weekday(Jr - 1) + 4), 1, 3)
N_SEM = Int((Jr - D + Weekday(D) + 5) / 7)
End Function
Code:
Sub a()
Application.Goto Sheets("Semaine " & CStr(N_SEM(Date))).[A1]
End Sub
Je te laisse finaliser la chose en mettant le code de a dasn WorkBook_Open()
Oui normalement, elle fonctionnera dans le futur... bien que tu n'es pas sans ignorer que le 21/12/2012, plus rien ne marchera nulle part et pour toujours
PS:
Ma premiere page avec la date ne sert plus à rien?
Tu veux que je remanie la macro pour conserver cette page de garde?... mais est-ce vraiment utile s'il s'agit simplement d'activer la feuille "semaine en cours"
Re : Ouvrir une feuille excel en fonction d'une cellule.
Re
1) Clic-droit sur un onglet -> Visualiser le code
Aller dans ThisWorkBook
C'est là qu'est WorkBook_Open()
PS1: Quand j'étais petit et que j'entendais un mot inconnu, j'allais le chercher dans un dictionnaire.
Tu n'es plus petit One Shot, mais tu avais le mot, et le net tout entier et son armée de moteurs de recherche, pour voir comment fonctionne WorkBook_Open()
PS2: Quand tu me connaitras plus sur ce forum, tu sauras que j'aime bien que le demandeur mette les mains dans le cambouis pour résoudre sa question