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 :

[VBA-E] Executer un programme à un moment précis


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 120
    Par défaut [VBA-E] Executer un programme à un moment précis
    salut,

    J'ai crée un bouton de commande dans une feuille et lorsque je clique dessus il execute des macros dans un module du classeur.
    De mon module je veux supprimer la feuille.
    L'astuce est d'utiliser la méthode de l'aide qui consiste à supprimer la feuille avec un certain retard :

    Cet exemple montre comment exécuter my_Procedure dans 15 secondes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"
    Mon probleme est qu'il ne retrouve pas l'adresse "Feuille.xls"
    J'espere que vous pourez m'aider

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks(NomDuClasseur).Worksheets(NomDeLaFeuille).select
    te permet de sélectionner une feuille
    Sans le select, te permet de la désigner dans ton code d'effacement.

    Si tu mets ce code, on pourra adapter en cas de besoin.

    A+

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 120
    Par défaut
    le pb c'est que "myprocedure" est une adresse il me semble.

    Est ce que "Workbooks(NomDuClasseur).Worksheets(NomDeLaFeuille)" est une adresse

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    myprocedure est le nom de la macro qui sera lancée "OnTime"
    Si cette macro se trouve hors du classeur, tu dois le préciser. Sinon, il te suffit de la désigner par son nom entre guillemets.

    tu dis

    A+

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je réponds à ta seconde question :

    Est ce que "Workbooks(NomDuClasseur).Worksheets(NomDeLaFeuille)" est une adresse
    Tout dépend de ce que tu sous-entends par "adresse".
    Ce code te permet de SUPPRIMER la feuille "MaFeuille" du classeur "MonClasseur"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        ActiveWindow.SelectedSheets.Delete
    Tu mets ce code dans une macro "Sub SupprimerLaFeuille()" que tu peux appeler d'où tu veux en mettant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        NomDuClasseur = "MonClasseur"
        NomDeLaFeuille = "MaFeuille"
        Workbooks(NomDuClasseur).Worksheets(NomDeLaFeuille).Select
    A+

  6. #6
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 120
    Par défaut
    le pb c'est que je dois appellerce code en cliquant sur le bouton de commande qui est situé sur ma feuille à supprimer.
    Lorqu'il voudra revenir du module au "end sub" de ma feuille, ce dernier étant supprimer il générera une erreur, voila pq j'ai voulu mettre une procédure d'éxécution de retard.

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 290
    Par défaut
    Bonjour,
    Si c'est la feuille où se trouve le bouton que tu veux supprimer (par exemple la feuille1.)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub Test()
    Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"
    End Sub
     
    Sub my_Procedure()
    Sheets("Feuil1").Delete
    End Sub
     
    Private Sub CommandButton1_Click()
    Call Test
    End Sub
    jpleroisse

  8. #8
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 120
    Par défaut
    d'accord je vais essayer de faire cela dans mon programme merci

  9. #9
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Bonsoir!
    Heuuu, excuse-moi, Delamarque, mais si je te dis :
    "Commandbutton sur feuille Excel",
    ça te dit quelquechose?
    Je demande, parce qu'il y a une semaine, tu as posé la même question, et tu as eu la même réponse. C'est rigolo. Enfin, rigolo....

  10. #10
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 120
    Par défaut
    excuse moi je ne voulais pas te vexer j'essaie juste de résoudre un pb assez compliqué dans mon programme

Discussions similaires

  1. Lancer un programme à un moment précis
    Par vg-matrix dans le forum Framework .NET
    Réponses: 1
    Dernier message: 26/02/2013, 09h48
  2. Executer une action à un moment très précis.
    Par thibab dans le forum VB.NET
    Réponses: 6
    Dernier message: 04/01/2011, 22h26
  3. [VBA-E] Execution d'un programme Perl depuis une macro Excel
    Par DaBeam dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/09/2007, 15h21
  4. programmer l'exécution d'un php à un moment précis!
    Par oops! dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 29/06/2007, 07h30
  5. Execution d'une fonction à un moment précis
    Par Psykotik dans le forum MFC
    Réponses: 2
    Dernier message: 05/01/2006, 11h58

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