Appel Onglet ouverture EXCEL

Résolu/Fermé
pygos Messages postés 185 Date d'inscription vendredi 5 septembre 2008 Statut Membre Dernière intervention 3 mars 2021 - 15 oct. 2010 à 09:00
Le_Maniouk Messages postés 317 Date d'inscription lundi 25 mars 2013 Statut Membre Dernière intervention 20 septembre 2019 - 8 janv. 2016 à 22:11
Bonjour,

Je souhaite à l'ouverture de mon fichier EXCEL afficher une boite de dialogue qui demande sur quel semaine je souhaite travailler.

Les onglets (planning) sont nommés comme suit :

S1
S2
S3
S4
.
.
.
S52

Sur quelle semaine désirez-vous travaillez ?

Réponse : S23

et l'onglet est selectionné......

2ème question

Pouvez-vous me dire comment ouvrir un onglet (exemple : S41) à l'ouverture du fichier
avec un controle de date.

Par exemple : aujourdh'ui nous sommes le 15 octobre 2010

Je souhaite à l'ouverture du fichier que l'onglet S41 soit sélectionné automatiquement...


Merci d'avance,

pygos

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
Modifié par pijaku le 15/10/2010 à 09:20
Bonjour,
1- Pour ouvrir un fichier excel à la feuille souhaitée, il faut un petit code VBA qui se lance à l'ouverture dudit classeur.
pour cela :
- Ouvrir le classeur,
- Taper : ALT + F11 (visual basic s'ouvre)
- dans la petite fenêtre en haut à gauche (fenêtre "Projet") double clic sur "ThisWorkbook"
- Fenêtre centrale, liste "général" choisir WorkBook, liste "déclarations", choisir Open (si ce n'est pas déjà fait...)
Vous obtenez donc :
Private Sub Workbook_Open() 

End Sub 

Tout code VBA placé entre ces lignes sera effectué à chaque ouverture de ce classeur.

2- Pour activer automatiquement la feuille correspondant à la feuille du jour, dès l'ouverture du classeur :
Private Sub Workbook_Open() 
D = Int(Date) 
num_sem = DateSerial(Year(D + (8 - Weekday(D)) Mod 7 - 3), 1, 1) 
num_sem = ((D - num_sem - 3 + (Weekday(num_sem) + 1) Mod 7)) \ 7 + 1 
Sheets("S" & num_sem).Activate 
End Sub 

Cf le post de michel_m (serait-ce le même???) ici, sur des sources de Laurent Longre...

3- pour activer, toujours au démarrage, l'onglet souhaité par l'utilisateur, il suffit de placer une InputBox au démarrage :
Private Sub Workbook_Open() 
Dim result As String 
result = InputBox("Indiquez uniquement le N° de la semaine (ex : 51)", "N° de semaine") 
Sheets("S" & result).Activate 
End Sub 


Cordialement,
-- Il n'y a rien de tel qu'une question idiote, seulement une réponse idiote. A.Einstein --
0
pygos Messages postés 185 Date d'inscription vendredi 5 septembre 2008 Statut Membre Dernière intervention 3 mars 2021
15 oct. 2010 à 09:46
Tout simplement merci !!

J'ai obtenu les réponses à toutes es questions.

Cordialement,

Pygos
0
Le_Maniouk Messages postés 317 Date d'inscription lundi 25 mars 2013 Statut Membre Dernière intervention 20 septembre 2019 158
8 janv. 2016 à 22:11
Bonjour,

Je cherche à faire la même chose mais avec 6 onglets différents ...

Je souhaite qu'à l'ouverture, une boite de dialogue s'ouvre pour me demander sur quelle feuille je souhaite travailler. J'en ai un trentaine mais il y en a beaucoup de masquées.

Merci beaucoup
-1