IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-E] Excel a rencontré un problème et doit fermer


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 101
    Points : 74
    Points
    74
    Par défaut [VBA-E] Excel a rencontré un problème et doit fermer
    Bonsoir,

    J'ai un classeur de code (A) qui me crée un classeur de résultats (B) et y écrit du code.

    Le classeur A me sert de ressource. Aussi pour rendre le classeur A accessible depuis le classeur B, j'ai ajouté une référence au projet visual basic de mon classeur B qui pointe vers le classeur A.

    Pour pouvoir faire cela, je suis obligé de renommer le projet VBA de mon classeur B autrement que "VBAProject" et l'objet microsoft excel "ThisWorkBook" autrement que "ThisWorkBook" car sinon au moment d'ajouter la référence à mon classeur A, le code plante parce qu'Excel détecte deux projets VBA ainsi que 2 "ThisWorkBook" se nommant de la même façon.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ClasseurRes.VBProject.Name = "CodeClasseurRes"
    ClasseurRes.VBProject.VBComponents("ThisWorkbook").Name = "VBProjClasseurRes"
    ClasseurRes.VBProject.References.AddFromFile (ClasseurCode.FullName)
    Quand le programme a fini de s'exécuter, le classeur B est sauvegardé, et le classeur A fermé et l'application quittée.

    Quand je réouvre le classeur B "à la main" avec Excel 2000, Excel plante et j'ai le message d'erreur "Excel a rencontré un problème et doit fermer".

    Quand j'ouvre le même fichier avec Excel 2003, je n'ai pas ce problème.

    Ce qui semble poser problème c'est le renommage du projet VBA et de ThisWorkBook.
    Je vais essayer de les renommer comme un classeur par défaut dans la procédure BeforeClose du classeur B.

    Mais si quelqu'un a d'ores et déjà une idée qu'il ne se gêne surtout pas.

    Merci.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 101
    Points : 74
    Points
    74
    Par défaut
    Bon ben c'était bien ça le problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
        Dim Ref As Reference
        Dim i As Integer
        i = 1
        Do
            If ActiveWorkbook.VBProject.References.Item(i).Name = "VBAProject" Then Exit Do
            i = i + 1
        Loop While i <= ActiveWorkbook.VBProject.References.Count
        If i <= ActiveWorkbook.VBProject.References.Count Then
            Set Ref = ActiveWorkbook.VBProject.References.Item("VBAProject")
            ActiveWorkbook.VBProject.References.Remove Ref
            ActiveWorkbook.VBProject.Name = "VBAProject"
            ActiveWorkbook.VBProject.VBComponents("VBProjClasseurRes").Name = "ThisWorkbook"
        End If
    End Sub
    Attention il faut absolument casser la référence à "VBAProject" de mon classeur de code sinon la propriété "Name" de ActiveWorkBook.VBProject.Name = "VBAProject" échoue.

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 20/11/2011, 17h20
  2. Réponses: 1
    Dernier message: 20/07/2010, 16h55
  3. [Wamp] [Wampserver] « Apache HTTP Server a rencontré un problème et doit fermer »
    Par DjiLow dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 04/02/2010, 16h00
  4. HTTP Server a rencontré un problème et doit fermer
    Par pierreHaut dans le forum Zend_Db
    Réponses: 1
    Dernier message: 17/11/2009, 08h58
  5. Réponses: 4
    Dernier message: 15/05/2008, 00h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo