Je dois exécuter un sous-programme VBA 4 secondes plus tard. Le sous-programme prend un paramètre de chaîne. Le problème que j'ai est que la chaîne que j'ai besoin de passer semble être trop longue et c'est une erreur. Essayez d'exécuter ce code:Comment contourner la limitation de caractères VBA OnTime?
Sub DoTest()
Application.OnTime Now + TimeSerial(0, 0, 4), "'PrintStr ""aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa""'"
End Sub
Sub PrintStr(str As String)
Debug.Print str
End Sub
DoTest() s'exécute sans erreurs. Maintenant, ajoutez un "a" à la chaîne de a et exécutez DoTest() à nouveau. Vous obtiendrez une erreur "Cette macro ... ne peut pas être trouvée".
Comment puis-je contourner ce problème, soit en utilisant OnTime ou une autre solution qui me permettrait d'appeler un sous-programme qui accepte un paramètre X nombre de secondes plus tard? J'utilise Excel 2003.
Merci pour la solution rapide! Un autre DOH! moment ^^ – 10basetom