Excel VBa espace pile insuffisant

Résolu
fl0 Messages postés 365 Statut Membre -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Voila mon problème je lance excel j'execute ma macro et une msgbox apparait pour me dire
espace pile insuffisant
est ce que quelqu'un à deja rencontrer ce prob ou est ce que quelqu'un sait comment cela arrive

Merci d'avance pour votre aide
Configuration: Windows XP
Internet Explorer 7.0

11 réponses

  1. amigo
     
    Re,

    J'ai cherché un peu et e suis tombé sur un site qui explique comment programmer un timer.

    http://www.cpearson.com/excel/OnTime.aspx

    Le plus petit intervalle est de 1 seconde, pour faire un chrono au 1 centième c'est pas suffisant mais j'ai réussi à afficher une horloge sur une userform.

    Voici comment j'ai fait:

    1) Dans un module, je mis ça:
    Option Explicit
    
    Public RunWhen As Double
    Public Const cRunIntervalSeconds = 1 ' 1 seconde
    Public Const cRunWhat = "Macro1"  ' the name of the procedure to run
    
    Sub StartTimer()
        RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds)
        Application.OnTime EarliestTime:=RunWhen, Procedure:=cRunWhat, Schedule:=True
    End Sub
    
    Sub StopTimer()
        On Error Resume Next
        Application.OnTime EarliestTime:=RunWhen, Procedure:=cRunWhat, Schedule:=False
    End Sub
    
    Sub Macro1()
       '''''''''''''''''
       ' Your Code Here
       '''''''''''''''''
       UserForm1.Label1.Caption = Time
       ' Call StartTimer to schedule the procedure again
       StartTimer
    End Sub
    


    2) Sur une UserForm (UserForm1) j'ai mis 2 boutons (CommandButton1 et CommandButton2), et 1 Label (Label1).
    Dans le code de la Userform j'ai mis ça:
    Option Explicit
    
    Private Sub CommandButton1_Click()
    StartTimer
    End Sub
    
    Private Sub CommandButton2_Click()
    StopTimer
    End Sub
    
    Private Sub UserForm_Terminate()
    StopTimer
    End Sub
    


    3) J'affiche UserForm1, Clic sur bouton1, l'horloge démarre. Clic sur bouton2, l'horloge s'arrête.

    Dans Public Const cRunIntervalSeconds tu règles l'intervalle.
    Dans macro1 à la place de MsgBox, tu peux mettre la procédure à exécuter à chaque interruption Timer.

    J'espère que ça te dépannera.
    Salut.
    2
    1. fl0 Messages postés 365 Statut Membre 209
       
      salut amigo c'est encore moi

      je vien de me rendre compte que l'arret du timer ne fonctionne pas
      tu peut m'expliquer umpeu le fonctionnement de schedule utilisé car quand je met
      Application.OnTime EarliestTime:=RunWhen, Procedure:=cRunWhat, Schedule:=False
      sur une autre ligne j'ai une erreur
      j'ai regardé l'aide mes elle ne m'aide pas beaucoup
      si tu pouvait encore me renseogner ca serais cool

      je dit tu mais vous etes tous les bien venu

      merci d'avance a+
      0