Message d'erreur "Run-time error '32809' à l’exécution d'une macro.

Anonyme
2014-12-16T11:25:45+00:00

Bonjour, 

Depuis quelques jours j'ai un problème sur l'un de mes serveurs.

Sur celui ci est installé Office Pro Plus 2010 (32-bit).

A l'ouverture du classeur la procédure Private Sub Workbook_Open() va écrire des données dans différentes feuilles. Mais à la première occurrence il y a un arrêt avec un message d'erreur (cf plus bas).

Afin de facilité la lecture de la macro et les différents caractères utilisés j'ai écris dans un module la simple sélection d'une feuille : 

Sub Macro1()

Worksheets("16-ST04-CS (FW Positions)").Select

Worksheets("03-MT54x-CS(BS SEC External)").Select

End Sub

La première ligne de commande fonctionne correctement. La feuille 16-ST04-CS (FW Positions) est sélectionnée. 

La seconde ligne de commande provoque une erreur : 

Run-time error '32809':

Application-defined or object-defined error

Les deux feuilles sont bien présentes dans le groupe VBAProject / Microsoft Excel Objects.

Elles portent toutes deux des noms différents de feuil1,2,3 ... 

F16_ST04 pour la première et F03_External_CS pour la seconde. 

Le problème ne se présente pas sur d'autres postes, cependant ce sont des fichiers qui sont exécuté automatiquement sur le serveur qui est le seul a être allumé la nuit. 

Si quelqu'un a une idée d'où peut venir le problème, ca serait bienvenue. 

merci d'avance.

Alex.

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

24 réponses

  1. Anonyme
    2014-12-17T14:05:36+00:00

    La suppression du contenu de Temp ne donne malheureusement rien.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2014-12-17T12:19:51+00:00

    Bonjour,

    Tu as essayé ceci :

    Ferme sur le poste de travail toutes les applications Office.

    Tu ouvres la fenêtre "Exécuter" Raccourci clavier : Win + R

    Tu exécutes cette commande :  %Temp%

    Tu sélectionnes tout le contenu du répertoire "temp" et tu appliques sur le bouton "delete".

    Tu supprimes tout ce qui est possible.

    N.B. Je ne travaille pas en réseau, et je n'ai pas eu l'occasion de tester cette approche dans cet environnement.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2014-12-17T10:21:12+00:00

    Bonjour,

    Je suis aussi confronté à ce type de problème.

    J'utilise des Templates pour des formulaires dans mon entreprise et la même erreur d'exécution apparait (32809) uniquement sur les postes Windows 7 + office 2010 32 bit depuis la mise à jour de la semaine dernière. Du coups tous les boutons (contrôles ActiveX) sont inactifs.

    A noter que tous les autres postes xp + office 2007 ou Windows 7 64 bit + office 64 bit fonctionnent.

    Le problème est que plus d'un millier de formulaire en cours utilisent ces templates. Je ne peut donc changer le mode de fonctionnement de ceux-ci ou changer les boutons (si on supprime tous les contrôles activeX, le formulaire ne relève aucune erreur).

    Je ne pense pas qu'une réparation soit efficace vu que cela impacte tous les postes dans cette configuration.

    J'ai beau remuer la question dans tous les sens, je commence a être à cours d'idée.

    j'ai déjà essayé de :

    -supprimer tous les fichiers *.exd. (utile sur les autres postes)

    -recréer les boutons en faisant attention à bien les renommer et à ne pas faire de copier coller (il semblerait que cela pose problème parfois)

    La seule solution que je n'ai pas testé est de désinstaller les dernières mise à jour ce qui est apparemment déconseillé et je ne saurait lesquelles supprimer.

    Je suis donc preneur si vous avez une idée ou une solution.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Anonyme
    2014-12-16T15:46:25+00:00

    Est-ce que les difficultés que tu éprouves sont très récentes? Il y a eu des mises à jour qui ont produit ce type de comportement. Est-ce qu'Excel est installé sur chaque ordinateur ou sur le serveur seulement ? Dans le dernier cas, la petite procédure pour faire disparaître le contenu du répertoire "Temp"  doit être appliquée au serveur et non seulement à ton ordinateur. Évidemment, choisis le moment approprié pour effectuer cela sur le serveur et redémarre-le si tu peux le faire! Cela espérons corrigera le problème que tu éprouves avec ton code et les boutons de commande.

    Concernant la ligne de code suivante :

    Worksheets("03-MT54x-UBS(BS SEC External)").Cells(1, 12)  = "Toto" ==> Ne fonctionne pas. 

    Tu peux écrire aussi :

    With Worksheets("03-MT54x-UBS(BS SEC External)")

                .Cells(1, 12)  = "Toto"

    End With

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  5. Anonyme
    2014-12-16T14:57:06+00:00

    La feuille n'est pas corrompue car la procédure fonctionne correctement sur les autres postes. 

    Par contre j'ai pu relever deux nouveaux points qui peuvent peut être aider à comprendre, ou ne rien y comprendre...

    I

    J'ai modifié la macro comme suit : 

    Dim ws As Worksheet

    For Each ws In Worksheets

        ws.Activate

        Application.StatusBar = ws.Name

    Next ws

    L'ensemble des feuilles est sélectionnée sans problèmes. 

    Je peux écrire dans les feuilles si je ne place pas le "worksheets" devant : 

    Cells(1, 12) = "Toto" ==> Fonctionne

    Worksheets("03-MT54x-UBS(BS SEC External)").Cells(1, 12)  = "Toto" ==> Ne fonctionne pas. 

    II

    Les boutons de commande active X (objets cmd) ne se lancent pas. On a beau cliquer rien ne se passe. 

    Les boutons de commande formulaire essaient d'exécuter une macro mais un nouveau message d'erreur apparaît :  

    Compile error : Object library invalid or contains references to object definitions that could not be found.

    Chaque feuille contient au moins un bouton de commande, active X et/ou formulaire/

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire