Bonjour à tous,
Je fais face à un problème dont je n'ai trouvé aucune solution sur aucun forum. Ni même de problème similaires ayant déjà été évoqués. C'est un problème assez technique à expliquer, je vais tenter de l'expliquer dans le détail.
Je possède un fichier Excel avec de nombreuses macros à l'intérieur, dont des macros qui s'exécutent lors de l'ouverture du fichier (comme des macros de protection / déprotection des feuilles du fichier etc...).
Ce fichier est entièrement fonctionnel. En effet, je l'utilise en permanence sans avoir d'erreurs.
Maintenant, je dois créer un rapport Word dans lequel je vais insérer ce fichier Excel, afin de le diffuser à d'autres personnes. Pour cela, j'utilise la fonction d'insertion d'objets (Insertion / Objet / Créer à partir du fichier / et je viens sélectionner mon fichier Excel (sans faire "Lier au fichier")).
Une fois mon fichier Excel insérer sous forme d'objet dans mon Word, je double clique sur mon icone pour ouvrir mon fichier Excel. Lors de l'ouverture de l'Excel, j'ai des erreurs qui apparaissent, m'indiquant que des objets ne sont pas définis.
Je me suis rendu compte que ce sont les fonctions qui font références aux objets "Actifs" qui ne sont pas fonctionnelles. En effet lors de l'ouverture de mon Excel, j'exécute des procédure utilisant des fonctions comme ActiveSheet ou ActiveWorkbook. J'ai vu que lorsqu'on exécute un fichier Excel via un objet Word, l'Excel est considéré comme "Passif" lors du démarrage, ainsi j'aurais ActiveSheet = Nothing et ActiveWorkbook = Nothing, d'où les erreurs qui apparaissent.
Ainsi ma première question serait : Est-il possible de rendre mon fichier Excel actif lors de son exécution afin d'utiliser les fonctions ActiveSheet ou ActiveWorkbook ?
Néanmoins, j'ai réussi à contourner le problème en utilisant la fonction ThisWorkbook au lieu de ActiveWorkbook et en faisant référence à une feuille en particulier au lieu d'utiliser ActiveSheet. (Mais ce n'est pas la solution que j'aimerais garder)
Ce premier problème ayant été contourné, je décide de ressayer de lancer mon fichier Excel à partir de l'objet insérer dans mon Word. Cependant, une nouvelle erreur apparait. (Voit capture d'écran ci-dessous)
Je n'arrive pas contourner cette erreur. J'ai pu lire sur certains sujets sur des forums que cette erreur peut apparaitre lorsqu'un fichier Excel est ouvert en parallèle. Or, dans mon cas, j'ai bien fait attention à ce qu'aucun fichier Excel ne soit ouvert en fond. J'ai aucune idée pour savoir d'où vient l'erreur.
D'où ma seconde question : Savez-vous d'où peut provenir cette erreur ? Comment la résoudre ?
J'espère avoir bien expliqué les problèmes auxquels je fais face.
Par avance, merci pour votre aide.
Cordialement,