Ma macro fonctionne plusieurs jours puis plante ...
Fermé
Erwin33
Messages postés
5
Date d'inscription
vendredi 29 août 2014
Statut
Membre
Dernière intervention
1 septembre 2014
-
29 août 2014 à 15:50
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 - 1 sept. 2014 à 12:14
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 - 1 sept. 2014 à 12:14
A voir également:
- Ma macro fonctionne plusieurs jours puis plante ...
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro recorder - Télécharger - Confidentialité
- Compte facebook suspendu 180 jours - Guide
10 réponses
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
29 août 2014 à 16:36
29 août 2014 à 16:36
Quand çà "plante", quel est le message d'erreur.
Dans la fenêtre du message d'erreur, si tu fais "debugger", tu peux voir quelle ligne cause le "plantage".
Dans la fenêtre du message d'erreur, si tu fais "debugger", tu peux voir quelle ligne cause le "plantage".
Erwin33
Messages postés
5
Date d'inscription
vendredi 29 août 2014
Statut
Membre
Dernière intervention
1 septembre 2014
29 août 2014 à 16:37
29 août 2014 à 16:37
Je n'ai pas de message d'erreur car Excel se bloque et je dois le fermer...
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
29 août 2014 à 16:45
29 août 2014 à 16:45
For i = 2 To DerniereCelluleRemplie
J'ai le feeling que tu boucles à l'infini dans ce coin la.
J'ai pas trouver ton next pour ce For, mais j'suis a court de café ce matin.
J'ai le feeling que tu boucles à l'infini dans ce coin la.
J'ai pas trouver ton next pour ce For, mais j'suis a court de café ce matin.
Erwin33
Messages postés
5
Date d'inscription
vendredi 29 août 2014
Statut
Membre
Dernière intervention
1 septembre 2014
29 août 2014 à 16:49
29 août 2014 à 16:49
Malheureusement il existe, il est à 5 lignes de la fin ...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
Modifié par PlacageGranby le 29/08/2014 à 19:25
Modifié par PlacageGranby le 29/08/2014 à 19:25
Si tu vas dans ton code et que tu mets des point d'arrêt au début de chacun de tes macro et exécute le code. Est-ce qu'il en exécute une partie ?
C'est sur que faire du pas à pas c'est pénible, mais tu peux peut-être cerner quelle partie du code cause problème
C'est sur que faire du pas à pas c'est pénible, mais tu peux peut-être cerner quelle partie du code cause problème
bonjour,
c'est vrai que c'est pénible mais faire le mode pas à pas et utiliser des éspions, il n'y a rien d'assi efficace pour débugger. par contre ce qui est etonnant c'est que ca ne marche pas alors que c'est marchait avant.
c'est vrai que c'est pénible mais faire le mode pas à pas et utiliser des éspions, il n'y a rien d'assi efficace pour débugger. par contre ce qui est etonnant c'est que ca ne marche pas alors que c'est marchait avant.
Erwin33
Messages postés
5
Date d'inscription
vendredi 29 août 2014
Statut
Membre
Dernière intervention
1 septembre 2014
29 août 2014 à 21:21
29 août 2014 à 21:21
Quand j'utilise le mode pas à pas tout va bien, ma macro déroule tranquille !
Quand je lance la macro cette dernière fonctionne entre 2 et 5 jours voir plus sans problème sachant qu'elle se lance toutes les 15 minutes (temps de traitement environ 3 minutes) et d'un coup d'un seul Excel se fige, je ne peux plus rien faire à par forcer la fermeture du logiciel. Je relance le logiciel en suivant, j'ouvre mon fichier et je relance ma macro qui va fonctionner pendant plusieurs jours avant un nouveau plantage.
Ma première question est de savoir si la rédaction de ma macro respecte les règles de l'art ? Est ce que certaines améliorations peuvent être apportées ?
A savoir que cette macro tourne sur un serveur (Online) et que je lance 10 fois Excel de manière indépendante afin d'ouvrir 10 fichiers avec des macros similaires (les sources d'informations provenant de site web différents) ce qui me permet d'avoir plusieurs macros qui tournent en parallèle. Je n'ai pas de problème de mémoire vive et certaines de ces macros qui ont la même architecture fonctionnement depuis plusieurs mois sans avoir subit un seul plantage...
Quand je lance la macro cette dernière fonctionne entre 2 et 5 jours voir plus sans problème sachant qu'elle se lance toutes les 15 minutes (temps de traitement environ 3 minutes) et d'un coup d'un seul Excel se fige, je ne peux plus rien faire à par forcer la fermeture du logiciel. Je relance le logiciel en suivant, j'ouvre mon fichier et je relance ma macro qui va fonctionner pendant plusieurs jours avant un nouveau plantage.
Ma première question est de savoir si la rédaction de ma macro respecte les règles de l'art ? Est ce que certaines améliorations peuvent être apportées ?
A savoir que cette macro tourne sur un serveur (Online) et que je lance 10 fois Excel de manière indépendante afin d'ouvrir 10 fichiers avec des macros similaires (les sources d'informations provenant de site web différents) ce qui me permet d'avoir plusieurs macros qui tournent en parallèle. Je n'ai pas de problème de mémoire vive et certaines de ces macros qui ont la même architecture fonctionnement depuis plusieurs mois sans avoir subit un seul plantage...
eriiic
Messages postés
24569
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
28 décembre 2023
7 211
30 août 2014 à 00:02
30 août 2014 à 00:02
Bonjour,
un peu imbuvable à lire...
Est-ce que tu attends bien la confirmation que les données soient chargées avant de continuer le code ?
Il y a des instructions pour ça.
Sinon un petit retard te met tout en l'air.
eric
un peu imbuvable à lire...
Est-ce que tu attends bien la confirmation que les données soient chargées avant de continuer le code ?
Il y a des instructions pour ça.
Sinon un petit retard te met tout en l'air.
eric
Erwin33
Messages postés
5
Date d'inscription
vendredi 29 août 2014
Statut
Membre
Dernière intervention
1 septembre 2014
1 sept. 2014 à 10:26
1 sept. 2014 à 10:26
Salut Eriiic,
Effectivement il doit me manquer une confirmation du chargement des données.
J'ai essayé de rajouter DoEvents à la suite de mon code de chargement des données mais je ne dois pas avoir la bonne syntaxe... Quelle est la bonne manière d'intégrer un DoEvents dans mon code ?
Merci d'avance
Effectivement il doit me manquer une confirmation du chargement des données.
J'ai essayé de rajouter DoEvents à la suite de mon code de chargement des données mais je ne dois pas avoir la bonne syntaxe... Quelle est la bonne manière d'intégrer un DoEvents dans mon code ?
Merci d'avance
'Télécharger les données de la station
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.ogimet.com/cgi-bin/gsynres?ind=" & numero_station & "&lang=en&decoded=yes&ndays=10&ano=" & annee & "&mes=" & mois_du_jour & "&day=" & date_du_jour & "&hora=" & heure_now & "" _
, Destination:=Range("$A$1"))
.Name = _
"gsynres?ind=" & numero_station & "&lang=en&decoded=yes&ndays=10&ano=" & annee & "&mes=" & mois_du_jour & "&day==" & date_du_jour & "&hora=" & heure_now & ""
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "4"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
DoEvents
eriiic
Messages postés
24569
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
28 décembre 2023
7 211
1 sept. 2014 à 12:14
1 sept. 2014 à 12:14
Bonjour,
non, ce n'est pas d'un do events que tu as besoin même s'il ne fait pas de mal.
Sur une interaction avec IE tu as une propriété IE.ReadyState qui permet de savoir quand la récupération est terminée. Tu as peut-être l'équivalent sur ADO.
Je ne pratique pas assez pour te guider plus.
eric
non, ce n'est pas d'un do events que tu as besoin même s'il ne fait pas de mal.
Sur une interaction avec IE tu as une propriété IE.ReadyState qui permet de savoir quand la récupération est terminée. Tu as peut-être l'équivalent sur ADO.
Je ne pratique pas assez pour te guider plus.
eric