Ce bout de code à la fin de la procédure. Si je l'exécute par F8 (pas à
pas), tout est OK. Sauf que l'on exécute cette procédure 2 à 4 fois
de manière rapprochée, cela fait planter Excel et il est obligé de
fermer. J'ai ajouté des boucles à titre de temporisation, cela ne change
en rien le résultat...
Bonjour Denis Si ton code est dans un classeur, je suppose que ça doit lui faire drôle de continuer à se dérouler alors que le classeur est fermé.
MichD
Bonjour Géo, Tu as peut-être raison. Comment expliques-tu alors que le code s'exécute normalement 2 fois consécutives et fait planter Excel lors de la troisième exécution! J'ai réglé le problème, j'ai mis Excel à la poubelle! ;-)) Merci pour ton intervention. MichD
Bonjour Géo,
Tu as peut-être raison. Comment expliques-tu alors que le code
s'exécute normalement 2 fois consécutives et fait planter Excel lors
de la troisième exécution!
J'ai réglé le problème, j'ai mis Excel à la poubelle! ;-))
Bonjour Géo, Tu as peut-être raison. Comment expliques-tu alors que le code s'exécute normalement 2 fois consécutives et fait planter Excel lors de la troisième exécution! J'ai réglé le problème, j'ai mis Excel à la poubelle! ;-)) Merci pour ton intervention. MichD
Geo
Tu as peut-être raison. Comment expliques-tu alors que le code s'exécute normalement 2 fois consécutives et fait planter Excel lors de la troisième exécution!
Le temps que la mémoire se vide ou que le processus disparaisse ? Sérieusement, je ne sais pas.
Tu as peut-être raison. Comment expliques-tu alors que le code
s'exécute normalement 2 fois consécutives et fait planter Excel lors
de la troisième exécution!
Le temps que la mémoire se vide ou que le processus disparaisse ?
Sérieusement, je ne sais pas.
Tu as peut-être raison. Comment expliques-tu alors que le code s'exécute normalement 2 fois consécutives et fait planter Excel lors de la troisième exécution!
Le temps que la mémoire se vide ou que le processus disparaisse ? Sérieusement, je ne sais pas.
Jacky
Bonjour Denis Même plantage chez moi. J'ai déjha constater ce problème Dans un de mes anciens classeur sous xl2003, ce genre de code fontionnait parfaitement, au passage vers xl2007 plantage. Sans vraiment comprendre pourqoi...j'ai mis cela sur le compte d'un bug. Dans mon classeur j'ai pu résoudre le problème par un "Application.quit".Donc plus de lancement successif. Maigre consolation ;o) Ps: J'ai supposé que la variable "Nom" était attribué Salutations JJ MichD a exposé le 09/06/2016 :
Bonjour, Ce bout de code à la fin de la procédure. Si je l'exécute par F8 (pas à pas), tout est OK. Sauf que l'on exécute cette procédure 2 à 4 fois de manière rapprochée, cela fait planter Excel et il est obligé de fermer. J'ai ajouté des boucles à titre de temporisation, cela ne change en rien le résultat... Est-ce que quelqu'un a une explication? '============================================================ > ThisWorkbook.Sheets.Copy '-------------------------------------- T = Timer + 2 Do While Timer < T DoEvents Loop '-------------------------------------- Set Wk = ActiveWorkbook Wk.SaveAs ThisWorkbook.Path & "" & Nom, FileFormat:Q '-------------------------------------- T = Timer + 2 Do While Timer < T DoEvents Loop '-------------------------------------- Application.DisplayAlerts = True ThisWorkbook.Close False Application.ScreenUpdating = True Set Wk = Nothing '============================================================ > Merci pour votre collaboration. Denis
Bonjour Denis
Même plantage chez moi.
J'ai déjha constater ce problème
Dans un de mes anciens classeur sous xl2003, ce genre de code
fontionnait parfaitement, au passage vers xl2007 plantage.
Sans vraiment comprendre pourqoi...j'ai mis cela sur le compte d'un
bug.
Dans mon classeur j'ai pu résoudre le problème par un
"Application.quit".Donc plus de lancement successif.
Maigre consolation ;o)
Ps: J'ai supposé que la variable "Nom" était attribué
Salutations
JJ
MichD a exposé le 09/06/2016 :
Bonjour,
Ce bout de code à la fin de la procédure. Si je l'exécute par F8 (pas à pas),
tout est OK. Sauf que l'on exécute cette procédure 2 à 4 fois
de manière rapprochée, cela fait planter Excel et il est obligé de fermer.
J'ai ajouté des boucles à titre de temporisation, cela ne change en rien le
résultat...
Bonjour Denis Même plantage chez moi. J'ai déjha constater ce problème Dans un de mes anciens classeur sous xl2003, ce genre de code fontionnait parfaitement, au passage vers xl2007 plantage. Sans vraiment comprendre pourqoi...j'ai mis cela sur le compte d'un bug. Dans mon classeur j'ai pu résoudre le problème par un "Application.quit".Donc plus de lancement successif. Maigre consolation ;o) Ps: J'ai supposé que la variable "Nom" était attribué Salutations JJ MichD a exposé le 09/06/2016 :
Bonjour, Ce bout de code à la fin de la procédure. Si je l'exécute par F8 (pas à pas), tout est OK. Sauf que l'on exécute cette procédure 2 à 4 fois de manière rapprochée, cela fait planter Excel et il est obligé de fermer. J'ai ajouté des boucles à titre de temporisation, cela ne change en rien le résultat... Est-ce que quelqu'un a une explication? '============================================================ > ThisWorkbook.Sheets.Copy '-------------------------------------- T = Timer + 2 Do While Timer < T DoEvents Loop '-------------------------------------- Set Wk = ActiveWorkbook Wk.SaveAs ThisWorkbook.Path & "" & Nom, FileFormat:Q '-------------------------------------- T = Timer + 2 Do While Timer < T DoEvents Loop '-------------------------------------- Application.DisplayAlerts = True ThisWorkbook.Close False Application.ScreenUpdating = True Set Wk = Nothing '============================================================ > Merci pour votre collaboration. Denis
Jacquouille
Hello Denis, Juste une idée venant du cerveau vide d'un ignorant..... Ton vieil Excel, il ne ferait pas comme mon cerveau: oublier de remettre les variables à l'heure? Tu es certain qu'il reprend bien le dernier Timer, et qu'il ne garde pas en mémoire le premier Timer?
T = Timer + 2 Do While Timer < T DoEvents Loop
Et si tu essayais une var à la place de 2 et qui s'incrémenterait de 1 à chaque boucle. Tu pourrais contrôler aussi la valeur de T après chaque boucle. Bonne chance. Jac Jacques " Le vin est au repas ce que le parfum est à la femme." . "MichD" a écrit dans le message de groupe de discussion : Bonjour Géo, Tu as peut-être raison. Comment expliques-tu alors que le code s'exécute normalement 2 fois consécutives et fait planter Excel lors de la troisième exécution! J'ai réglé le problème, j'ai mis Excel à la poubelle! ;-)) Merci pour ton intervention. MichD --- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com
Hello Denis,
Juste une idée venant du cerveau vide d'un ignorant.....
Ton vieil Excel, il ne ferait pas comme mon cerveau: oublier de remettre les
variables à l'heure?
Tu es certain qu'il reprend bien le dernier Timer, et qu'il ne garde pas en
mémoire le premier Timer?
T = Timer + 2
Do While Timer < T
DoEvents
Loop
Et si tu essayais une var à la place de 2 et qui s'incrémenterait de 1 à
chaque boucle.
Tu pourrais contrôler aussi la valeur de T après chaque boucle.
Bonne chance.
Jac
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
b6d06da6-3b02-a4ed-db84-921aaf333fbb@Hotmail.com...
Bonjour Géo,
Tu as peut-être raison. Comment expliques-tu alors que le code
s'exécute normalement 2 fois consécutives et fait planter Excel lors
de la troisième exécution!
J'ai réglé le problème, j'ai mis Excel à la poubelle! ;-))
Merci pour ton intervention.
MichD
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Hello Denis, Juste une idée venant du cerveau vide d'un ignorant..... Ton vieil Excel, il ne ferait pas comme mon cerveau: oublier de remettre les variables à l'heure? Tu es certain qu'il reprend bien le dernier Timer, et qu'il ne garde pas en mémoire le premier Timer?
T = Timer + 2 Do While Timer < T DoEvents Loop
Et si tu essayais une var à la place de 2 et qui s'incrémenterait de 1 à chaque boucle. Tu pourrais contrôler aussi la valeur de T après chaque boucle. Bonne chance. Jac Jacques " Le vin est au repas ce que le parfum est à la femme." . "MichD" a écrit dans le message de groupe de discussion : Bonjour Géo, Tu as peut-être raison. Comment expliques-tu alors que le code s'exécute normalement 2 fois consécutives et fait planter Excel lors de la troisième exécution! J'ai réglé le problème, j'ai mis Excel à la poubelle! ;-)) Merci pour ton intervention. MichD --- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com
MichD
Bonjour Jacky, Je suis d'accord avec toi, j'ai fait cela et je n'ai jamais eu un problème avec les anciennes versions. Comme Géo et Jacquoille y font référence, c'est peut-être une gestion de mémoire...mais moi, je ne me souviens pas avoir eu autant de problèmes avec quelques lignes de code! Dans la même application, j'ai eu tout un problème avec le déverrouillage de cellules alors que certaines doivent demeurer verrouillées, et cela sur des plages où il y a plusieurs cellules fusionnées. Je n'exposerai pas le problème, ce serait trop long à expliquer et je ne peux pas publier l'application. C'est décevant d'éprouver ces difficultés sur des actions de base sur la version Excel 2016. Mon application est terminée. C'est navrant de devoir passer un temps fou sur de pareils trucs! Merci à tous pour vos remarques. MichD
Bonjour Jacky,
Je suis d'accord avec toi, j'ai fait cela et je n'ai jamais eu un
problème avec les anciennes versions. Comme Géo et Jacquoille y font
référence, c'est peut-être une gestion de mémoire...mais moi, je ne me
souviens pas avoir eu autant de problèmes avec quelques lignes de code!
Dans la même application, j'ai eu tout un problème avec le
déverrouillage de cellules alors que certaines doivent demeurer
verrouillées, et cela sur des plages où il y a plusieurs cellules
fusionnées.
Je n'exposerai pas le problème, ce serait trop long à expliquer et je ne
peux pas publier l'application. C'est décevant d'éprouver ces
difficultés sur des actions de base sur la version Excel 2016.
Mon application est terminée. C'est navrant de devoir passer un temps
fou sur de pareils trucs!
Bonjour Jacky, Je suis d'accord avec toi, j'ai fait cela et je n'ai jamais eu un problème avec les anciennes versions. Comme Géo et Jacquoille y font référence, c'est peut-être une gestion de mémoire...mais moi, je ne me souviens pas avoir eu autant de problèmes avec quelques lignes de code! Dans la même application, j'ai eu tout un problème avec le déverrouillage de cellules alors que certaines doivent demeurer verrouillées, et cela sur des plages où il y a plusieurs cellules fusionnées. Je n'exposerai pas le problème, ce serait trop long à expliquer et je ne peux pas publier l'application. C'est décevant d'éprouver ces difficultés sur des actions de base sur la version Excel 2016. Mon application est terminée. C'est navrant de devoir passer un temps fou sur de pareils trucs! Merci à tous pour vos remarques. MichD
MichD
Bonjour Jacky, Je suis d'accord avec toi, j'ai fait cela et je n'ai jamais eu un problème avec les anciennes versions. Comme Géo et Jacquoille y font référence, c'est peut-être une gestion de mémoire...mais moi, je ne me souviens pas avoir eu autant de problèmes avec quelques lignes de code! Dans la même application, j'ai eu tout un problème avec le déverrouillage de cellules alors que certaines doivent demeurer verrouillées, et cela sur des plages où il y a plusieurs cellules fusionnées. Je n'exposerai pas le problème, ce serait trop long à expliquer et je ne peux pas publier l'application. C'est décevant d'éprouver ces difficultés sur des actions de base sur la version Excel 2016. Mon application est terminée. C'est navrant de devoir passer un temps fou sur de pareils trucs! Merci à tous pour vos remarques. MichD
Bonjour Jacky,
Je suis d'accord avec toi, j'ai fait cela et je n'ai jamais eu un
problème avec les anciennes versions. Comme Géo et Jacquoille y font
référence, c'est peut-être une gestion de mémoire...mais moi, je ne me
souviens pas avoir eu autant de problèmes avec quelques lignes de code!
Dans la même application, j'ai eu tout un problème avec le
déverrouillage de cellules alors que certaines doivent demeurer
verrouillées, et cela sur des plages où il y a plusieurs cellules
fusionnées.
Je n'exposerai pas le problème, ce serait trop long à expliquer et je ne
peux pas publier l'application. C'est décevant d'éprouver ces
difficultés sur des actions de base sur la version Excel 2016.
Mon application est terminée. C'est navrant de devoir passer un temps
fou sur de pareils trucs!
Bonjour Jacky, Je suis d'accord avec toi, j'ai fait cela et je n'ai jamais eu un problème avec les anciennes versions. Comme Géo et Jacquoille y font référence, c'est peut-être une gestion de mémoire...mais moi, je ne me souviens pas avoir eu autant de problèmes avec quelques lignes de code! Dans la même application, j'ai eu tout un problème avec le déverrouillage de cellules alors que certaines doivent demeurer verrouillées, et cela sur des plages où il y a plusieurs cellules fusionnées. Je n'exposerai pas le problème, ce serait trop long à expliquer et je ne peux pas publier l'application. C'est décevant d'éprouver ces difficultés sur des actions de base sur la version Excel 2016. Mon application est terminée. C'est navrant de devoir passer un temps fou sur de pareils trucs! Merci à tous pour vos remarques. MichD
MichD
Bonjour Jacky, Je suis d'accord avec toi, j'ai fait cela et je n'ai jamais eu un problème avec les anciennes versions. Comme Géo et Jacquoille y font référence, c'est peut-être une gestion de mémoire...mais moi, je ne me souviens pas avoir eu autant de problèmes avec quelques lignes de code! Dans la même application, j'ai eu tout un problème avec le déverrouillage de cellules alors que certaines doivent demeurer verrouillées, et cela sur des plages où il y a plusieurs cellules fusionnées. Je n'exposerai pas le problème, ce serait trop long à expliquer et je ne peux pas publier l'application. C'est décevant d'éprouver ces difficultés sur des actions de base sur la version Excel 2016. Mon application est terminée. C'est navrant de devoir passer un temps fou sur de pareils trucs! Merci à tous pour vos remarques. MichD
Bonjour Jacky,
Je suis d'accord avec toi, j'ai fait cela et je n'ai jamais eu un
problème avec les anciennes versions. Comme Géo et Jacquoille y font
référence, c'est peut-être une gestion de mémoire...mais moi, je ne me
souviens pas avoir eu autant de problèmes avec quelques lignes de code!
Dans la même application, j'ai eu tout un problème avec le
déverrouillage de cellules alors que certaines doivent demeurer
verrouillées, et cela sur des plages où il y a plusieurs cellules
fusionnées.
Je n'exposerai pas le problème, ce serait trop long à expliquer et je ne
peux pas publier l'application. C'est décevant d'éprouver ces
difficultés sur des actions de base sur la version Excel 2016.
Mon application est terminée. C'est navrant de devoir passer un temps
fou sur de pareils trucs!
Bonjour Jacky, Je suis d'accord avec toi, j'ai fait cela et je n'ai jamais eu un problème avec les anciennes versions. Comme Géo et Jacquoille y font référence, c'est peut-être une gestion de mémoire...mais moi, je ne me souviens pas avoir eu autant de problèmes avec quelques lignes de code! Dans la même application, j'ai eu tout un problème avec le déverrouillage de cellules alors que certaines doivent demeurer verrouillées, et cela sur des plages où il y a plusieurs cellules fusionnées. Je n'exposerai pas le problème, ce serait trop long à expliquer et je ne peux pas publier l'application. C'est décevant d'éprouver ces difficultés sur des actions de base sur la version Excel 2016. Mon application est terminée. C'est navrant de devoir passer un temps fou sur de pareils trucs! Merci à tous pour vos remarques. MichD
Tu as peut-être raison. Comment expliques-tu alors que le code s'exécute normalement 2 fois consécutives et fait planter Excel lors de la troisième exécution!
Le temps que la mémoire se vide ou que le processus disparaisse ? Sérieusement, je ne sais pas.
Moi je tenterais bien une initialisation de variable qui n'est pas "désinitialisé" vu que le code se termine alors que le classeur est fermé l'initialisation Set Wk = ActiveWorkbook la "désinitialisation" qui ne se fait pas Set Wk = Nothing et comme le classeur est fermé ça fout le bronx dans la mémoire Mais bon, j'dis ça, j'dis rien ;-) De même que je soupçonne le Application.ScreenUpdating = True de ne pas s'exécuter et qu'il doit y avoir un Application.ScreenUpdating = False qqpart Bref, le Application.Quit de Jacky me semble une """bonne""" solution (de contournement) -- JièL dix heure
Le 09/06/2016 à 21:20, Geo a écrit :
Tu as peut-être raison. Comment expliques-tu alors que le code
s'exécute normalement 2 fois consécutives et fait planter Excel lors
de la troisième exécution!
Le temps que la mémoire se vide ou que le processus disparaisse ?
Sérieusement, je ne sais pas.
Moi je tenterais bien une initialisation de variable qui n'est pas
"désinitialisé" vu que le code se termine alors que le classeur est fermé
l'initialisation
Set Wk = ActiveWorkbook
la "désinitialisation" qui ne se fait pas
Set Wk = Nothing
et comme le classeur est fermé ça fout le bronx dans la mémoire
Mais bon, j'dis ça, j'dis rien ;-)
De même que je soupçonne le Application.ScreenUpdating = True de ne pas
s'exécuter et qu'il doit y avoir un Application.ScreenUpdating = False
qqpart
Bref, le Application.Quit de Jacky me semble une """bonne""" solution
(de contournement)
Tu as peut-être raison. Comment expliques-tu alors que le code s'exécute normalement 2 fois consécutives et fait planter Excel lors de la troisième exécution!
Le temps que la mémoire se vide ou que le processus disparaisse ? Sérieusement, je ne sais pas.
Moi je tenterais bien une initialisation de variable qui n'est pas "désinitialisé" vu que le code se termine alors que le classeur est fermé l'initialisation Set Wk = ActiveWorkbook la "désinitialisation" qui ne se fait pas Set Wk = Nothing et comme le classeur est fermé ça fout le bronx dans la mémoire Mais bon, j'dis ça, j'dis rien ;-) De même que je soupçonne le Application.ScreenUpdating = True de ne pas s'exécuter et qu'il doit y avoir un Application.ScreenUpdating = False qqpart Bref, le Application.Quit de Jacky me semble une """bonne""" solution (de contournement) -- JièL dix heure