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
    2015-03-04T17:28:50+00:00

    Bonjour,

    J'ai rencontré le problème et ce sur 3 classeurs différents développés sous Excel2010 et XP.

    En passant à W7 (avec enregistrement) ça coince pour les postes en XP. (Erreur 32809)

    Après analyse, on a au moins une feuille pour laquelle VBA ne sait plus lire

    worksheets("Toto")

    Ce qui est étonnant, c'est que si "Toto" est la feuille avec index=3, worksheets(3) fonctionne, et si on place un espion, worksheets(3).name est bien égal à "Toto". On peut tout essayer, impossible de sauver la situation. Dans certains cas, on peut appliquer une solution de contournement. Ex :

    J'avais une ligne de code de ce type :

    worksheets("Toto").range("NomDeCellule") = x

    Je l'ai remplacée par :

    [NomDeCellule] = x

    Et cela fonctionne, VBA n'a plus à résoudre worksheets("Toto"), ni sheets("Toto"). En l'état le classeur est exploitable sous XP et W7. Sauf que... dans notre  parc de PC viennent d'arriver les derniers W7, et là j'ai découvert que les classeurs qui tournent sous seven début d'année ne tournent pas sur les seven de cette semaine. Là aussi on coince sur l'erreur 32809 à l'intérieur d'une boucle for each aSheet in sheets (boucle très simple de 3 lignes).

    C'est le bug de la feuille "John Doe"

    Jack

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

    0 commentaires Aucun commentaire
  2. DanielCo 107.1K Points de réputation
    2015-03-04T12:06:46+00:00

    Donc, clairement, c'est ton utilisatrice qui vérole corrompt le classeur. Attend que son poste soit mis à jour.

    Daniel

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

    0 commentaires Aucun commentaire
  3. Anonyme
    2015-03-04T11:29:19+00:00

    Je viens de refaire cette manip (que j'avais déjà faite).

    Une fois le nouveau tableur créé, opérationnel sur mon poste, je le transmet à ma collègue sur XP (principale utilisatrice, son PC est en cours de renouvellement pour un Seven) qui le met à jour (test bidon) et l'enregistre.

    Tout va bien chez elle, mais dès que je rouvre le classeur sur mon poste, le message d'erreur "32809" revient, toujours sur "ActiveSheet.Unprotect".

    Est-ce que ça fait avancer le Scmillblick ?

    Merci à vous !

    Sylvain M.

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

    0 commentaires Aucun commentaire
  4. DanielCo 107.1K Points de réputation
    2015-03-04T10:20:48+00:00

    Il est possible que ton classeur soit corrompu.

    Sélectionne toutes les feuilles, fais un clic droit sur un onglet et clique sur Déplacer ou copier. Dans la zone "Dans le classeur", choisis "Nouveau classeur", coche la case "Créer une copie" et clique sur "OK". Recopie également tes macros. Si tu as un userform, il faut, dans le fichier initial, l'exporter, et l'importer dans le nouveau fichier.

    Enregistre et teste.

    Daniel

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

    0 commentaires Aucun commentaire
  5. DanielCo 107.1K Points de réputation
    2015-03-03T19:56:21+00:00

    Bonsoir,

    > Mes macros, qui fonctionnaient parfaitement, affichent le message "erreur d'execution 32809".

    Quelle est la ligne en erreur ?

    Daniel

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

    0 commentaires Aucun commentaire