Erreur : Automation , déconnection client

suistrop

XLDnaute Impliqué
Bonjour,

Voila un probleme que je ne comprend vraiment pas ....
Mon code copy plein d onglet dans un autre fichier , mon code ne comporte pas d erreur car il copy bien les premiers onglets.

Mais il m arrive d avoir ce type d erreurs toujours a cette endroit et sans aucune raison apparente.

Peut etre je devrais prendre des précaution avant de copier l onglets mais je ne vois pas lesquelles vu que ca marche tres bien si je le fais un par un.

Merci

Ci joint les image de mon erreur.
 

Roland_M

XLDnaute Barbatruc
Re : Erreur : Automation , déconnection client

bonjour

si ça se produit aléatoirement et de plus pas toujours,
peut être que le système à besoin d'effectuer une tâche entre deux !

lors d'un traitement long dans une macro il est parfois utile de mettre DoEvents
DoEvents rend la main au system le temps qu'il effectue, si besoin est, une tâche !

par exemple dans ta boucle de copy d'onglet
après Copy mettre DoEvents

ça coûte rien d'essayer !
 

suistrop

XLDnaute Impliqué
Re : Erreur : Automation , déconnection client

Salut,

J ai tester ta solution .... sans effet apparent !
Je viens d allumer mon PC:
avec ta solution je boucle 15 fois
test juste apres sans ta solution je boucle 11 fois
test encore apres avec ta saolution je boucle 7 fois :)

je sais je dois redémarré mon PC pour aller plus loin mais mon but est d arriver a boucler 60 fois :( ca semble mal partie . . . .

Aller une autre idée !!!

eidt : ca a marché 1 fois en mettant doevent avant et apres la copy mais depuis ca ne remarch pas et ca bug au bout de la 3 emem boucle /D
PS : quand ca bug obligé de tt kill avec le gestionnaire de tache
 
Dernière édition:

suistrop

XLDnaute Impliqué
Re : Erreur : Automation , déconnection client

Re,

Ca vient de marche avec cette astuce :
Bon je le fais attendre de 6 secondes(pas tester moins) a chaque itération de la boucle mais si je suis sur que ca bug plus ... je suis pres a faire ces concessions !!!

Peut etre que il y a une autre méthode pour copier des onglets qui serait plus efficace ... je suis a l ecoute !!!!


Dernière précision :
----------------------
Les puriistes vous dirons que utiliser un DoEvents mange du temps machine; en effet, la boucle est exécutée quelques milliers de fois par secondes.
Certes (y cause bien, hein !), vous pouvez toujours la remplacer la l'API "Sleep" :
Vous mettez cette déclaration dans la partie Déclaration de votre feuille ou module
Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
et vous remplacez les "DoEvents" par des "Sleep 1000" qui demandera au système d'attendre 1 seconde (1000 millisecondes) avant de poursuivre.

Vala. En espérant que ça puisse vous servir ...
Jack

edit : ha non ca a pas remarcher une seconde fois buger a la 5 eme itération :(
 
Dernière édition:

suistrop

XLDnaute Impliqué
Re : Erreur : Automation , déconnection client

ha tient ca a remacher avec sleep ....
j y comprend vraiment rien j ai l impressin de jouer a la roulette.
Mais le fait de fermer et réouvrir mon fichier semble augmenter la proba que ca marche ...
 

Roland_M

XLDnaute Barbatruc
Re : Erreur : Automation , déconnection client

re

le souci c'est que l'on ne voit pas ton code ! il faudrait peut être essayer:

' au début du code
Application.Calculation = xlCalculationManual
Application.DisplayAlerts = False
Application.EnableEvents = False

'à la fin du code
Application.Calculation = xlCalculationAutomatic
Application.DisplayAlerts = True
Application.EnableEvents = True
 

suistrop

XLDnaute Impliqué
Re : Erreur : Automation , déconnection client

re

le souci c'est que l'on ne voit pas ton code ! il faudrait peut être essayer:

' au début du code
Application.Calculation = xlCalculationManual
Application.DisplayAlerts = False
Application.EnableEvents = False

'à la fin du code
Application.Calculation = xlCalculationAutomatic
Application.DisplayAlerts = True
Application.EnableEvents = True

Mon code est tt ce qu il y a de plus basique a part l ouverture d un classeur sinon c est du b.a-ba

j utilise juste :

Application.ScreenUpdating = False


Application.ScreenUpdating = True
 

Roland_M

XLDnaute Barbatruc
Re : Erreur : Automation , déconnection client

re:

alors qu'est ce qui t'empêche de mettre ensemble:

au début du code
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual

'à la fin du code
Application.DisplayAlerts = True
Application.EnableEvents = True
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
 

bqtr

XLDnaute Accro
Re : Erreur : Automation , déconnection client

Bonsoir suistrop, Roland,

Bien que le type d'erreur est différent, tu es peut-être confronté au même problème.

Excel peut buguer quand il copie des feuilles.

Regarde ce fil et suit les liens donnés par Pascal.

ICI

A+
 

Roland_M

XLDnaute Barbatruc
Re : Erreur : Automation , déconnection client

re:

tu as une remarque:
'on se place dans le fichier là ou la macro s'exécute ....
et tu as: Windows(nom_fichier).Activate

essai plutôt: ThisWorkbook.Activate

car le code est forcément dans ThisWorkbook ! sinon il y a un problème !?
 

Discussions similaires

Statistiques des forums

Discussions
312 361
Messages
2 087 627
Membres
103 608
dernier inscrit
rawane