Espace pile

Bonjour à tous,

J'ai une procédure toute simple

Sub verifDate()

Application.ScreenUpdating = False
    For Each c In [DATECONSUL2]
        If c.Value <> "" And c.Value < c.Offset(0, -1).Value Then

            MsgBox "Verifier votre saisie" & vbCr & "La date de réponse doit-être supérieure à la date de demande" & vbCr & "Les cellules en erreur sont en rouge"
        End If
        Next c
    End Sub

A chaque fois que je la lance, j'ai un message "espace pile insuffisant".

J'ai tenté de rajouter

set rg = [DATECONSUL2]

for each c in rg....

Rien n'y fait.

Merci de vos lumières

Pascal

Bonjour,

Tu as surement un souci de mémoire.

Tu n'as pas déclaré tes variables et le souci pourrait venir de là.

Le mieux serait de voir ton fichier mais essaie comme ceci :

Sub verifDate()
Dim c As Range
Application.ScreenUpdating = False
    For Each c In Range("DATECONSUL2")
        If c.Value <> "" And c.Value < c.Offset(0, -1).Value Then
            MsgBox "Verifier votre saisie" & vbCr & "La date de réponse doit-être supérieure à la date de demande" _
                & vbCr & "Les cellules en erreur sont en rouge"
        End If
    Next c
End Sub

Amicalement

Bonjour

Une petite réflexion

Je trouve bizarre que de déclarer la variable puissent résoudre un problème de mémoire

A mon avis

supposition gratuite

Peut-être que l'appel de cette macro se fasse de façon événementielle et qu'il y a un entassement des adresses de retour qui fait déborder la pile

mais sans le fichier pour test pas évident de trouver

Si la solution de Dan est efficace tant mieux et désolé de mon intervention

Bonne journée

re,

Banzai, j'ai eu ce souci il y a quelques années et résolu de cette manière. Je ne suis pas dans Excel et surtout ne peut savoir ce qu'excel voit lors de l'exécution des codes. Peut être aussi que cela vient d'une boucle dans un code

Je serais tout de même bien curieux de voir à quoi correspond le range -> DATECONSUL2

A bientôt

Rechercher des sujets similaires à "espace pile"