Excel VBa espace pile insuffisant

Résolu/Fermé
fl0 Messages postés 357 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 10 novembre 2021 - 9 avril 2008 à 16:14
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 3 déc. 2008 à 00:01
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

11 réponses

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
fl0 Messages postés 357 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 10 novembre 2021 209
5 mai 2008 à 16:47
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