Problème en VBA (mémoire insufisante)

Résolu/Fermé
Paascal Messages postés 26 Date d'inscription jeudi 23 mars 2017 Statut Membre Dernière intervention 6 décembre 2017 - 5 déc. 2017 à 17:51
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 6 déc. 2017 à 17:36
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
            
                

3 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
5 déc. 2017 à 18:02
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.
0
Paascal Messages postés 26 Date d'inscription jeudi 23 mars 2017 Statut Membre Dernière intervention 6 décembre 2017
5 déc. 2017 à 18:28
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
0
Paascal Messages postés 26 Date d'inscription jeudi 23 mars 2017 Statut Membre Dernière intervention 6 décembre 2017
6 déc. 2017 à 15:02
Problème résolu,
il fallait que je coupe mes macros et que je les change de module pour que mes macros fonctionnent correctement.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
6 déc. 2017 à 17:36
Bonsoir,
Parfait si tu as résolu ton problème : merci du retour.
0