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 :

ERREUR 32809 - Erreur définie par l'application ou par l'objet


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juillet 2013
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Comptable
    Secteur : Services de proximité

    Informations forums :
    Inscription : Juillet 2013
    Messages : 67
    Points : 54
    Points
    54
    Par défaut ERREUR 32809 - Erreur définie par l'application ou par l'objet
    Bonjour,

    Je recherche la solution a mon problème.
    J'ai un fichier excel qui me renvoi une erreur 32809 - Erreur définie par l'application ou par l'objet
    pour un simple sheets.select

    Je sais que cela vient de la fameuse mise à jour de Microsoft, jusque la quand j'avais ce problème
    j'allais dans %TEMP% et j'allais supprimer les fichiers .exd

    Mais la je sais plus quoi faire, dès que j'ouvre le fichier il vient de recréer le fichier MSForms.exd dans le repertoire Excel8.0

    Comment puis-je faire pour me débarasser de ce problème définitivement.

    Je vous remercie par avance de votre aide.

    PS : Petite Précision : Le fichier est utilisé par des personnes qui ont Excel 2010 et Excel 2007.

    Cordialement

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Je ne parviens pas à comprendre le lien entre les différents éléments de ta question.
    Peut-être que si tu donnais la portion de code incriminée, ce serait plus clair.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Membre du Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juillet 2013
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Comptable
    Secteur : Services de proximité

    Informations forums :
    Inscription : Juillet 2013
    Messages : 67
    Points : 54
    Points
    54
    Par défaut
    voila le code qui me renvoi l'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sheets("Enregistrement du patient").select
    Je te rassure j'ai bien une feuille qui s'appelle comme cela.
    Et quand je l'ouvrais la semaine dernière cela fonctionnait très
    bien.

    Et aujourd'hui bing ça plante !!!

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Je te rassure j'ai bien une feuille qui s'appelle comme cela.
    Es-tu sûr que le classeur dans lequel elle se trouve est activé ?

    Qu'affiche la fenêtre d'exécution si, juste avant cette ligne, tu places :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Debug.Print ActiveWorkbook
    Debug.Print Worksheets("Enregistrement du patient").Name
    Et quand je l'ouvrais la semaine dernière cela fonctionnait très
    bien.
    Et aujourd'hui bing ça plante !!!
    Que s'est-il passé entre la semaine dernière et aujourd'hui ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Membre du Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juillet 2013
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Comptable
    Secteur : Services de proximité

    Informations forums :
    Inscription : Juillet 2013
    Messages : 67
    Points : 54
    Points
    54
    Par défaut
    Cela plante sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print ActiveWorkbook
    et il me mets erreur d'execution 438

    Entre la semaine derniere et cette semaine à part un pont de 4 jours rien d'autres. :-)

  6. #6
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Et comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Debug.Print ActiveWorkbook.Name
    Debug.Print Worksheets("Enregistrement du patient").Name

    Entre la semaine derniere et cette semaine à part un pont de 4 jours rien d'autres. :-)
    L'informatique est bête mais disciplinée et ne fait pas d'erreur.
    Quand on fait deux fois la même action sans rien changer entre les deux, on obtient deux fois le même résultat.
    Si le résultat est différent, c'est que quelque chose à changé.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  7. #7
    Membre du Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juillet 2013
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Comptable
    Secteur : Services de proximité

    Informations forums :
    Inscription : Juillet 2013
    Messages : 67
    Points : 54
    Points
    54
    Par défaut
    maintenant il plante sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print Worksheets("Enregistrement du patient").Name
    avec l'erreur 32809.

  8. #8
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Ca donne quoi le résultat de la première ligne ?
    C'est quoi le message de l'erreur ?
    Qu'est-ce qui a été modifié depuis la période où ça marchait ?

    C'est un peu fatiguant de devoir te tirer les vers du nez et que tu te contentes de transmettre le minimum d'informations.

    Quand tu mets le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim MyWS as Worksheet
    For Each MyWS in ActiveWorkbook.Worksheets
       Debug.Print MyWS.Name
    Next MyWS
    Est-ce que "Enregistrement du patient" apparait dans la liste ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  9. #9
    Membre du Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juillet 2013
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Comptable
    Secteur : Services de proximité

    Informations forums :
    Inscription : Juillet 2013
    Messages : 67
    Points : 54
    Points
    54
    Par défaut
    alors le resultat de la premiere ligne, c'est le nom de mon fichier excel (cela ne plante plus, c'est pour cela que je ne t'ai rien mis sur mon message precedent.

    Le message de l'erreur c'est ce que je t'ai dis de nouveau l'erreur 32809 - Erreur définie par l'application ou par l'objet

    Je n'ai rien changer entre la semaine derniere et cette semaine.
    Pas de mise a jour sur mon PC, pas de modification de l'application
    C'est le client qui renseigne des éléments dans le fichier excel et comme j'ai mis dans mon message
    d'origine, lui est en excel 2010 (je pensais que cela pourrait etre une piste)

    avec ton code, il passe en revu tous les onglets de mon fichier excel et Enregistrement du patient
    fait bien parti de la liste.

  10. #10
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Peux-tu faire un copier/coller ici de ce que renvoie la boucle For Each dans la fenêtre d'exécution ?
    Et faire aussi un copier/coller de ta ligne de code qui plante (étant donné que dans la ligne que tu as mise dans ton second message n'a pas de majuscule à Sheets, je ne pense pas qu'il s'agissait d'un copier/coller du code).

    Il n'y aurait pas simplement une faute d'orthographe dans le nom de l'onglet.

    Parce que la méthode Name qui marche dans le For Each et qui ne marche plus quand on met le nom de l'onglet dans les mêmes circonstances, ça me semble plus que bizarre.
    Essaye de faire un copier/coller ce nom depuis la liste issue du Debug.Print vers ton code.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  11. #11
    Membre du Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juillet 2013
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Comptable
    Secteur : Services de proximité

    Informations forums :
    Inscription : Juillet 2013
    Messages : 67
    Points : 54
    Points
    54
    Par défaut
    je suis bien d'accord avec toi.
    Voila ce que me renvoi la fenetre d'execution

    SEM.1 HEBDO
    SEM.2 HEBDO
    SEM.3 HEBDO
    SEM.4 HEBDO
    SEM.5 HEBDO
    Les Non Gouts 1
    Paramétrages
    FDP KORIAN
    Main courante_Janvier 2013
    Fiche des Non-Goûts
    Enregistrement du patient
    Enregistrement ADJ
    ADJ Mois suivant
    Paramétrage du PDJ et du Goûter
    Récap des petits déjeuners
    Récap des repas Midi et Soir
    Gestion des Non Goûts
    Fiche de cuisine
    Fiche Goûter
    Feuille de service repas
    Fiche petit déjeuner
    Fiche collation
    Feuille de service
    Etiquettes ETAGE 1
    Etiquettes CHAMBRES
    Feuil1
    Les Non Gouts
    Feuil4
    Bordereau journalier
    Main courante
    Recap_bordereau
    Anniversaire
    Base des effectifs
    Fiche Invites Midi
    Fiche Invites Soir
    Feuil2
    Feuil3
    Feuil5

    et voila la liste de selection de la page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Enregistrement du patient").Select
    C'est l'un des premiere chose que j'ai vérifier si le client avait pas changé le nom de l'onglet. J'ai meme fait un copier/coller de la ligne de code (le nom de l'onglet) dans l'onglet
    excel pour etre sur.

  12. #12
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    la feuille est visible ou masquée ? (même si ça n'empêche pas de récupérer son nom ... on ne peut pas la sélectionner)

    si tu copies cette feuille dans un nouveau classeur et que tu testes ton code, ça plante aussi ?

    si tu remplaces les espaces du nom par un caractère (par exemple "_"), ça plante aussi ?

  13. #13
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Et en remplaçant "Sheets" par "ActiveWorkbook.Worksheets" ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  14. #14
    Membre du Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juillet 2013
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Comptable
    Secteur : Services de proximité

    Informations forums :
    Inscription : Juillet 2013
    Messages : 67
    Points : 54
    Points
    54
    Par défaut
    Salut,

    L'onglet est naturellement visible. J'ai fait le test que tu me demandes.
    J'ai copié dans un autre fichier et j'arrive a le selectionner en recopiant aussi le code
    J'ai fait ton second test j'ai carrement enlever les espaces du nom de l'onglet
    (et du code aussi) et j'ai toujours cette erreur de code

    j'ai tester aussi dans le meme genre le select sur un autre onglet et le select fonctionne nickel

    Donc c'est bien sur cette onglet ou j'ai une MER....

  15. #15
    Membre du Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juillet 2013
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Comptable
    Secteur : Services de proximité

    Informations forums :
    Inscription : Juillet 2013
    Messages : 67
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Et en remplaçant "Sheets" par "ActiveWorkbook.Worksheets" ?
    Pareil j'ai le meme message d'erreur...

    Pensez-vous que la seule solution c'est la suppression de l'onglet et la création d'un autre ?

  16. #16
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Etant donné que dans la boucle For Each, l'onglet accepte de donner son nom et que, avec la même commande, il refuse quand on met son nom entre guillemets, pour moi, le problème ne peut avoir qu'une seule source : ce qu'il y a entre les guillemets.

    D'après la liste, cet onglet est le 11.
    Que se passe-t-il quand tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print ActiveWorkbook.Worksheets(11).Name
    C'est bien le nom de cette fiche qui est retourné ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  17. #17
    Membre du Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juillet 2013
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Comptable
    Secteur : Services de proximité

    Informations forums :
    Inscription : Juillet 2013
    Messages : 67
    Points : 54
    Points
    54
    Par défaut
    Tu me croiras si tu veux ou pas mais quand je fais
    Debug.Print ActiveWorkbook.Worksheets(10).Name
    il me retourne Fiche des Non-Goûts

    Debug.Print ActiveWorkbook.Worksheets(11).Name
    il me retourne l'erreur 32809

    C'est vraiment a se tirer les cheveux !!!!

  18. #18
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Le plus étonnant, c'est que la boucle For Each précédente sortait ce nom sans problème.

    Et si tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim MyWS as Worksheet
    For Each MyWS in ActiveWorkbook.Worksheets
       Debug.Print MysWS.Index;MyWS.Name
    Next MyWS
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  19. #19
    Membre du Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juillet 2013
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Comptable
    Secteur : Services de proximité

    Informations forums :
    Inscription : Juillet 2013
    Messages : 67
    Points : 54
    Points
    54
    Par défaut
    quand je mets le code que tu m'as donné cela me revoie l'erreur 424
    j'ai corrigé car tu avais mis un s de trop dans l'index

    mais sinon cela me renvoi cela

    11 Enregistrement du patient

    donc il le reconnait bien mon onglet !!!

    Du coup la seule solution qu'il me reste c'est de supprimer l'onglet et de le recréer ??
    Existe-t-il une methode facile et rapide (et sécurisée)
    de supprimer un onglet et de le recréer sans affecter les liaisons ???

  20. #20
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Il n'y aurait pas une macro liée à ton onglet ?
    Dans le gestionnaire de projet VBA, fais un double-clic sur la feuille correspondante pour vérifier.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

Discussions similaires

  1. ERREUR 1004-erreur défini par l'application ou par l'objet
    Par zineb87 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/02/2010, 16h40
  2. Réponses: 2
    Dernier message: 20/10/2009, 16h59
  3. Erreur 1004 définie par l'application ou par l'objet
    Par GreatDeveloperOnizuka dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/12/2007, 09h33
  4. [VBA-E]erreur définie par l'application ou par l'objet
    Par vivelesgnous dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/02/2006, 14h51

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