Ouvrir une feuille excel en fonction d'une cellule.

One Shot

XLDnaute Nouveau
bonjour,

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.
 

Pièces jointes

  • Planning de travail bourget 2012.xls
    176 KB · Affichages: 172
Dernière édition:

Staple1600

XLDnaute Barbatruc
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
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
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
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
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()
 

One Shot

XLDnaute Nouveau
Re : Ouvrir une feuille excel en fonction d'une cellule.

Je vais essayer, merci.

Ma premiere page avec la date ne sert plus à rien?
Cette formule fontionnera t'elle toujours avec le changement d'année?

Celle-ci fonctionne mais pas à l'ouverture.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Ouvrir une feuille excel en fonction d'une cellule.

Re

Celle-ci fonctionne mais pas à l'ouverture.
C'est pour cela que j'écrivais précédemment
Je te laisse finaliser la chose en mettant le code de a dans 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?
Effectivement.

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" ;)
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
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 ;)
 

Staple1600

XLDnaute Barbatruc
Re : Ouvrir une feuille excel en fonction d'une cellule.

Re

Le principal n'est pas où on va mais le chemin pour y aller.

Donc chercher sur le net (à mon sens) n'est jamais vain.

Et je préfère un gars qui cherche, à un gars qui veut du tout cuit, tout de suite sans s'investir dans la résolution de sa question.

Donc bienvenue sur ce forum One Shot, et continue de chercher toujours et encore ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 467
Messages
2 088 679
Membres
103 918
dernier inscrit
comite des fets allonzier