IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Activation récalcitrante d'une feuille [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de horemheb
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2010
    Messages : 122
    Par défaut Activation récalcitrante d'une feuille
    Bonjour, j'expérimente le fonctionnement de l'évènement "Clic" à travers une petite application : un chrono qui démarre à l'ouverture de la feuille et s'arrête quand on clique sur un bouton de commande; ce qui a aboutit au code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Public Fin As Boolean
     
    Private Sub Worksheet_Activate()
    Dim Debut As Single
    Dim Duree As Single
     
    'point de départ
        Cells(2, 2).Value = ""
        Range("B4").Select
        Debut = Timer
        Fin = False
    'progression
        Do
            Duree = Timer - Debut
            Cells(2, 2).Value = Duree
            DoEvents
        Loop Until Fin = True
     
    End Sub
     
    Private Sub Stop_Cliquer()
     
    Fin = True
     
    End Sub
    Ce code est placé dans la "Feuil1"
    Lorsque je passe de la "Feuil2" à la "Feuil1" cela fonctionne correctement, le chrono démarre et s'arrête si je clique sur le bouton.
    Mais il devrait démarrer dès l'ouverture du classeur qui se place automatiquement sur la "Feuil1", ce qu'il ne fait pas (le départ du chrono).
    J'ai alors placé dans "ThisWorkbook" le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Workbook_Open()
     
    Worksheets("Feuil1").Select
    Worksheets("Feuil1").Activate
    Range("A1").Select
     
    End Sub
    pour m'assurer que la "Feuil1" était bien activée mais le chrono ne se met toujours pas en route.
    Pourriez-vous m'indiquer la cause de ce dysfonctionnement ?
    Merci d'avance

  2. #2
    Membre confirmé Avatar de horemheb
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2010
    Messages : 122
    Par défaut Lire les tutoriels
    En relisant les tutoriels sur Excel je me suis rendu compte qu'une partie de la réponse y est donnée : Worksheet_Activate() est un évènement qui se déclanche uniquement lorsque l'on passe d'une feuille à une autre, ici de la "Feuil2" à la "Feuil1". Ce qui explique le comportement que j'indiquais. Il me reste une question :
    Comme il n'y a pas d'évènement Worsheet_Open() dois-je mettre directement ma procédure dans le Workbook_Open() ?

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Si tu veux que le chrono démarre à l'ouverture du classeur alors, c'est "Workbook_Open" mais tu as aussi des événements dans le module du classeur comme "Workbook_SheetActivate" ou l'argument Sh est la feuille en cours.

    Hervé.

  4. #4
    Membre confirmé Avatar de horemheb
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2010
    Messages : 122
    Par défaut
    Merci pour cette précision.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ajouter et activer une feuille en excel par vb6
    Par adilissimo dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 19/06/2007, 14h01
  2. Activer une feuille ?
    Par celtix dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/05/2007, 18h14
  3. [vba-e] Rendre Une Feuille Active
    Par Kevin_18 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 06/04/2007, 09h44
  4. effacer le contenu d'une feuille active en préservant des cellules
    Par Jerez62 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/11/2006, 19h24
  5. [VBA-Excel]Aller sur une feuille sans l'activer.
    Par bonilla dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/10/2006, 12h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo