Bonjour à tous,
Je voudrais savoir s'il est possible d'intercepter l'arrêt d'une macro (pour cause de bug par exemple) et ensuite lancer automatiquement une autre macro pour quitter excel sans sauver le classeur.
Merci ce votre attention.
Pierre
Bonjour à tous,
Je voudrais savoir s'il est possible d'intercepter l'arrêt d'une macro (pour cause de bug par exemple) et ensuite lancer automatiquement une autre macro pour quitter excel sans sauver le classeur.
Merci ce votre attention.
Pierre
Bonsoir.
Au début de la procédure qui peut lever une erreur, placer une instruction. Si une erreur est levée dans l'exécution des lignes suivantes, cette exécution ne s'arrête pas mais est détournée vers la ligne marquée Etiquette, ce qui permet alors de faire ce que l'on veut.
Code : Sélectionner tout - Visualiser dans une fenêtre à part On Error GOTO etiquetteEn gros.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Sub Machin Dim ... On Error goto lblError ...'code actuel Exit sub lblError: ThisWorkbook.Close False End sub
Cordialement,
PGZ
Bonsoir
Une lien traitant la gestion des erreurs
Merci à vous de me soumettre vos solutions mais le cas est plus grave qu'il ne paraît.
Mon programme (VBA Excel 2007) comporte plus de 50,000 lignes de code réparties dans une trentaine de modules d'objets, 2 modules standards et 3 modules de classes. Je sais que je pourrais ajouter le code nécessaire pour intercepter les erreurs dans chacune des procédures, chacun des contrôles sur chacunes des UserForms etc. Mais celà encombrerait le programme sans parler de l'importance de la tâche!
Ce que je cherche c'est une façon d'intercepter le clic sur le bouton "Fin" dans la boîte de dialogue qui apparaît quand l'erreur fait planter le programme. Il y a 3 choix: "Fin", "Débugage" et "Aide". S'il était possible de savoir sur quel bouton l'utilisateur clique et que je puisse prendre le contrôle à ce moment là, je pourrais faire exécuter le code approprié.
Voilà où j'en suis.
Merci de vous intéresser à ce petit problème
Pierre
Salut.
Tel que tu le décris, le cas semble grave. Cela fait penser à une usine à gaz dont on a égaré les plans.
Si c'est le cas, c'est peut-êre desespéré!
SI tu ne peux même pas utiliser la gestion des erreurs...
Bon courage.
PGZ
Bonjour
Dans ce genre de cas, j'essaye toujours de savoir d'où vient l'erreur (mauvaises saisies, et...)
Le but est de mettre les rustines adéquates (gestion d'erreur ou contrôle de saisie par exemple) pour éviter ce genre d'erreur et non de trouver un palliatif pour éviter un plantage.
Philippe
Partager