Appel Onglet ouverture EXCEL

Résolu
pygos Messages postés 202 Statut Membre -  
Le_Maniouk Messages postés 349 Statut Membre -
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

2 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
    1. pygos Messages postés 202 Statut Membre
       
      Tout simplement merci !!

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

      Cordialement,

      Pygos
      0
  2. Le_Maniouk Messages postés 349 Statut Membre 158
     
    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