Plantage d'Excel pendant éxécution macro

cs_R55 Messages postés 5 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 26 avril 2005 - 21 avril 2005 à 13:34
cs_R55 Messages postés 5 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 26 avril 2005 - 21 avril 2005 à 15:29
Salut à tous,



j'ai un classeur Excel contenant des macros qui fonctionnent -ou plutôt fonctionnaient- très bien... jusqu'à ce matin.



Dans ce classeur, il y a une macro qui doit ouvrir un doc Word en double-cliquant sur une cellule précise.



Ca marchait très bien, mais depuis ce matin, quand cette macro est
éxécutée, j'ai droit à un magnifique (et hélas célèbre) "Microsoft
Excel has encountered a problem and needs to close. We are sorry
for the inconvenience."



Je me sers de ce classeur à mon boulot, et j'aimerais vraiment que
quelqu'un me dise rapidement de quoi ça vient... merci d'avance !

2 réponses

nostra78 Messages postés 137 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 6 décembre 2005
21 avril 2005 à 15:05
Va dans l'éditeur vba et réalise une exécution pas à pas. T'as du avoir une ptite modif qui fait bader le tout.
0
cs_R55 Messages postés 5 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 26 avril 2005
21 avril 2005 à 15:29
Salut nostra78.

Je l'avais déjà fait. il n'y a eu aucune modif dans le code (n'étant pas le seul utilisateur, je l'ai protégé par mot de passe).

J'ai oublié un détail important, c'est que ce code fonctionne parfaitement sur d'autres machines... mais plus sur la mienne !

Voici le morceau de code où ça plante :

<hr size= "2" width="100%">Set fs = CreateObject("Scripting.FileSystemObject")

Dim wordApp As Word.Application

Dim wordDoc As Word.Document

Dim dsheet As String

Dim chemin As String



chemin = ActiveWorkbook.Sheets("datas").Cells(1, 7).Value & ""

dsheet = chemin & Cells(ActiveCell.Row, 1).Value & ".doc"



If fs.FileExists(dsheet) Then



Set wordApp = CreateObject("Word.Application")

If wordApp.Documents.Open(dsheet).chk_approved.Value = True Then

wordApp.Visible = False

wordApp.Documents.Open(dsheet).Close

Cells(ActiveCell.Row, 10).Value = "YES"

Set wordDoc = wordApp.Documents.Open(dsheet, ReadOnly:=True)
etc...

<hr size="2" width="100%">Excel plante dès qu'il a éxécuté la ligne bleue soulignée...



Je ne comprends pas du tout ce qu'il se passe !...



Une idée ?...
0
Rejoignez-nous