Problème en VBA (mémoire insufisante)
Résolu
Paascal
Messages postés
26
Date d'inscription
Statut
Membre
Dernière intervention
-
gbinforme Messages postés 14946 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 14946 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
lorsque j'ouvre mes macros, soit mon excel plante en plus d'exécuter mal certaine de mes macros.
De plus, je ne peux pas modifier celle-ci.
Voici mon code tel qu'il est:
Option Explicit
Sub test()
Dim i As Variant
Dim secondes As Variant
Dim timer_avant As Variant
secondes = 0.01
timer_avant = Timer
Do While Timer < timer_avant + secondes
DoEvents
Loop
Range("v2").Value = Range("v2").Value + 1
Call test
End Sub
Sub test2()
Dim i As Variant
Dim secondes As Variant
Dim timer_avant As Variant
secondes = 0.01
timer_avant = Timer
Do While Timer < timer_avant + secondes
DoEvents
Loop
Range("v2").Value = Range("v2").Value - 1
Call test2
End Sub
Sub stoptest()
Dim i As Variant
Dim secondes As Variant
Dim timer_avant As Variant
secondes = 0.01
timer_avant = Timer
Do While Timer < timer_avant + secondes
DoEvents
Loop
Range("v2").Value = Range("v2").Value
Call stoptest
End Sub
Sub etirementv()
Dim i As Variant
Dim secondes As Variant
Dim timer_avant As Variant
If Range("r4").Value >= 2 Then
Else
secondes = 0.01
timer_avant = Timer
Do While Timer < timer_avant + secondes
DoEvents
Loop
Range("r4").Value = Range("r4").Value + 0.01
Call etirementv
End If
End Sub
Sub moinsetirementv()
Dim i As Variant
Dim secondes As Variant
Dim timer_avant As Variant
If Range("r4").Value <= 0 Then
Else
secondes = 0.01
timer_avant = Timer
Do While Timer < timer_avant + secondes
DoEvents
Loop
Range("r4").Value = Range("r4").Value - 0.01
Call moinsetirementv
End If
End Sub
Sub etirementh()
Dim i As Variant
Dim secondes As Variant
Dim timer_avant As Variant
If Range("r2").Value >= 2 Then
Else
secondes = 0.01
timer_avant = Timer
Do While Timer < timer_avant + secondes
DoEvents
Loop
Range("r2").Value = Range("r2").Value + 0.01
Call etirementh
End If
End Sub
Sub moinsetirementh()
Dim i As Variant
Dim secondes As Variant
Dim timer_avant As Variant
If Range("r2").Value = 0 Then
Else
secondes = 0.01
timer_avant = Timer
Do While Timer < timer_avant + secondes
DoEvents
Loop
Range("r2").Value = Range("r2").Value - 0.01
Call moinsetirementh
End If
End Sub
lorsque j'ouvre mes macros, soit mon excel plante en plus d'exécuter mal certaine de mes macros.
De plus, je ne peux pas modifier celle-ci.
Voici mon code tel qu'il est:
Option Explicit
Sub test()
Dim i As Variant
Dim secondes As Variant
Dim timer_avant As Variant
secondes = 0.01
timer_avant = Timer
Do While Timer < timer_avant + secondes
DoEvents
Loop
Range("v2").Value = Range("v2").Value + 1
Call test
End Sub
Sub test2()
Dim i As Variant
Dim secondes As Variant
Dim timer_avant As Variant
secondes = 0.01
timer_avant = Timer
Do While Timer < timer_avant + secondes
DoEvents
Loop
Range("v2").Value = Range("v2").Value - 1
Call test2
End Sub
Sub stoptest()
Dim i As Variant
Dim secondes As Variant
Dim timer_avant As Variant
secondes = 0.01
timer_avant = Timer
Do While Timer < timer_avant + secondes
DoEvents
Loop
Range("v2").Value = Range("v2").Value
Call stoptest
End Sub
Sub etirementv()
Dim i As Variant
Dim secondes As Variant
Dim timer_avant As Variant
If Range("r4").Value >= 2 Then
Else
secondes = 0.01
timer_avant = Timer
Do While Timer < timer_avant + secondes
DoEvents
Loop
Range("r4").Value = Range("r4").Value + 0.01
Call etirementv
End If
End Sub
Sub moinsetirementv()
Dim i As Variant
Dim secondes As Variant
Dim timer_avant As Variant
If Range("r4").Value <= 0 Then
Else
secondes = 0.01
timer_avant = Timer
Do While Timer < timer_avant + secondes
DoEvents
Loop
Range("r4").Value = Range("r4").Value - 0.01
Call moinsetirementv
End If
End Sub
Sub etirementh()
Dim i As Variant
Dim secondes As Variant
Dim timer_avant As Variant
If Range("r2").Value >= 2 Then
Else
secondes = 0.01
timer_avant = Timer
Do While Timer < timer_avant + secondes
DoEvents
Loop
Range("r2").Value = Range("r2").Value + 0.01
Call etirementh
End If
End Sub
Sub moinsetirementh()
Dim i As Variant
Dim secondes As Variant
Dim timer_avant As Variant
If Range("r2").Value = 0 Then
Else
secondes = 0.01
timer_avant = Timer
Do While Timer < timer_avant + secondes
DoEvents
Loop
Range("r2").Value = Range("r2").Value - 0.01
Call moinsetirementh
End If
End Sub
A voir également:
- Problème en VBA (mémoire insufisante)
- Mémoire vive - Guide
- RAM : type, format, CAS, vitesse, tout sur la mémoire vive - Guide
- Nettoyer memoire iphone - Guide
- L'instruction à 0x emploie l'adresse mémoire 0x l'état de la mémoire ne peut pas être read - Astuces et Solutions
- Gmail memoire insuffisante - Guide
3 réponses
Bonjour,
mon excel plante en plus d'exécuter mal certaine de mes macros.
J'en doutes fort car le VBA n'exécute que le code que tu lui donnes : si le résultat n'est pas correct c'est que le code ne doit pas l'être non plus. ;-)
De plus, je ne peux pas modifier celle-ci
Comment veux-tu qu'on te la modifies : l'on ne sait pas ce que ce que tu veux qu'elle fasse.
Ton utilisation du timer me parait assez ésotérique d'ailleurs.
mon excel plante en plus d'exécuter mal certaine de mes macros.
J'en doutes fort car le VBA n'exécute que le code que tu lui donnes : si le résultat n'est pas correct c'est que le code ne doit pas l'être non plus. ;-)
De plus, je ne peux pas modifier celle-ci
Comment veux-tu qu'on te la modifies : l'on ne sait pas ce que ce que tu veux qu'elle fasse.
Ton utilisation du timer me parait assez ésotérique d'ailleurs.
Ce que je veux faire, c'est faire bouger les coordonnés dans un graphique de façon à créer un mouvement et à chaque fois que j'essais de modifier mes macros, Excel plante.
je ne sais pas comment mettre mon classeur en ligne
ps: je vais sinon insérer un bouton qui modifie des valeur dans des cellules si je n'ai pas résolu mon problème dans quelques jours
je ne sais pas comment mettre mon classeur en ligne
ps: je vais sinon insérer un bouton qui modifie des valeur dans des cellules si je n'ai pas résolu mon problème dans quelques jours