Message erreur "méthode ‘_Default’ de l’objet ‘Range’ a échoué"

seb26000

XLDnaute Occasionnel
Bonjour,

A partir de différentes aides, j’ai monté un petit utilitaire sous Excel. Il fonctionne bien tant que je n’applique pas une modification qui consiste à bloquer la touche Echappe, à l’ouverture du fichier » afin de bloquer le mode plein écran (Application.OnKey "{ESCAPE}","" ).
Le souci, est le suivant : lorsque j’applique cette modification, j’enregistre le fichier, le ferme et le ré-ouvre afin de voir contrôler le blocage de la touche Echap sauf que le fichier n’arrive plus à s’ouvrir.

J’ai le message :

« Erreur d’exécution ‘2147417848 (80010108)’ :
La méthode ‘_Default’ de l’objet ‘Range’ a échoué

Je clique sur débogage pour voir la macro en défaut et je m’aperçois que les onglets (ou feuilles) situées normalement dans la fenêtre de gauche de VBA, ont disparu. Comme si VBA ne voyait pas les Onglets présents dans le fichier Excel…
Et après j’ai l’erreur 400. Je n’y comprends plus rien !!!!

Par contre, si je n’applique pas la modification pour le blocage de la touche Echap, tout fonctionne correctement….

Voici 2 fichiers :
Le fichier « Avant modif » fonctionne bien car la modif n’a pas été faite. Ainsi vous pourrez voir les macros avant modif

Le fichier « Après modif » ne fonctionne plus car la modif a été réalisée au niveau de Thisworkbook
Private Sub Workbook_Open()
Application.OnKey "{ESCAPE}",""

J’espère que vous pourrez m’aider ;-)

A très bientôt

Seb
 

Pièces jointes

  • erreur.zip
    146.9 KB · Affichages: 78
  • erreur.zip
    146.9 KB · Affichages: 74
  • erreur.zip
    146.9 KB · Affichages: 63

herve62

XLDnaute Barbatruc
Supporter XLD
Re : Message erreur "méthode ‘_Default’ de l’objet ‘Range’ a échoué"

Bonjour
Il y a qq chose de bizarre dans ton appli qui ne tourne pas rond
- Ta fenetre s'ouvre bien plein écran ( enfin presque, il reste une barre en haut) , la 1ere fois j'ai eu une petite fenetre demandant de "fermer plein écran" qui fonctionnait ..... 2eme fois , je ne l'ai plus ????
- Je n'ai pas de message d'erreurs !!! sauf pour le chemin de ton fichier : etiquettes_données , puisqu'on la pas !!!!!-
- Après avoir tout quitté ,et ouvrir un autre fichier ton appli a CHAMBOULE (supprime) toutes les barres d'affichage ????? ( haut et bas), il faut ré-intialiser > Ce n'est pas normal
- Maintenant je n'ai plus plein écran ? lorsque j'ouvre à nouveau ton fichier ( que j'ai enregistré .XLS)
Voila mon resultat de test sous EXCEL 2003
Info : je suis en Office 2003
 

seb26000

XLDnaute Occasionnel
Re : Message erreur "méthode ‘_Default’ de l’objet ‘Range’ a échoué"

C'est étrange c'est clair. Par contre c'est un fichier qui est fait sous 2007. Par contre, normalement tu ne devrais pas avoir de message d'erreur avec le fichier "Avant modif"

Je n'y comprends rien
 

seb26000

XLDnaute Occasionnel
Re : Message erreur "méthode ‘_Default’ de l’objet ‘Range’ a échoué"

Par conte, je viens de voir que si tu ouvres avec une version 2003, il te plante l'affichage... Du moins, je n'ai pas encore installé l'outil de conversion 2007 / 2003 sur mon office 2003 de chez moi, et effectivement l'utilitaire me plante l'affichage... Peut etre qu'en installant l'outil de conversion, il n'y aura plus de bug sur l'affichage par contre le probleme de plantage perciste....
 

Staple1600

XLDnaute Barbatruc
Re : Message erreur "méthode ‘_Default’ de l’objet ‘Range’ a échoué"

Bonsoir

1) Relire la charte
Notamment ce point ci:
Par ailleurs les macros évènementielles sur WorkBook_Open et Workbook_BeforeClose (ou Auto_Open / Auto_Close), sont à éviter, on peut très bien montrer son problème sans avoir à faire subir quoique ce soit au lecteur, sinon on le signale clairement dans le post.



2)
Personnellement j'écris ceci comme ci-dessous
(Pas eu le temps de lire tout ton code, j'attends d'abord que tu inhibes ton WorkBook_Open ;) )
Sub Fermeture()
' Fermeture du fichier
ActiveWorkbook.Close 0
End Sub
 
Dernière édition:

seb26000

XLDnaute Occasionnel
Re : Message erreur "méthode ‘_Default’ de l’objet ‘Range’ a échoué"

Bonsoir à tous

Donc j'ai arreté les macros présentantes dans le WorkBook_Open (fichier Etiquette_Demande.xlsb). Pour activer la macro de démarrage, j'ai mis un bouton : Macro de demarrage.

Initialement, cette macro était dans Thisworkbook mais j'ai du mettre la macro dans un module.
Donc au final, j'aimerais qu'au démarrage du fichier, la macro, qui actuellement est "bloquée" au demarrage, soit excutée et que l'instruction :
Application.OnKey "{ESCAPE}",""
soit présente afin que le mode plein écran soit présent tant que l'on est en mode adinistrateur (le code est : test)

J'ai également mis en pièce jointe le fichier (Etiquette_Données.xlsb) qui est utilisé dans les macros du fichiers Etiquette_Demande.xlsb

Merci beaucoup à tous
 

Pièces jointes

  • erreur.zip
    88.9 KB · Affichages: 94
  • erreur.zip
    88.9 KB · Affichages: 70
  • erreur.zip
    88.9 KB · Affichages: 80

seb26000

XLDnaute Occasionnel
Re : Message erreur "méthode ‘_Default’ de l’objet ‘Range’ a échoué"

Merci,

Par contre, en regardant de plus pres, tes commandes à inhiber correspondent au fichier Etiquette_Données.xlsb, or le fichier qui posait probleme est Etiquette_Demande.xlsb
J'ai mis le fichier Etiquette_Données.xlsb car Etiquette_Demande.xlsb faisait reference à ce fichier. De plus, j'ai regardé le fichier Sources.zip que tu m'as mis en pièce jointe. Mais je ne comprends pas trop pourquoi faut il les inhiber. Si je les inhibe comment mon fichier Etiquette_Demande.xlsb peut fonctionner ? Comment faire pour lancer au demarrage mes macros (ouverture plein écran, bloquage touche Echap, ....)

En tout cas, je te remercie pour le temps que tu y as consacré, c'est vraiment gentil
Seb
 

Staple1600

XLDnaute Barbatruc
Re : Message erreur "méthode ‘_Default’ de l’objet ‘Range’ a échoué"

Bonsoir

L'autre fichier faisait planter Excel à peine ouvert.

Si j'ai mis en commentaires certaines lignes, c'est pour tester.
Il te suffit de les décommenter une à une et de voir quand le bug se produit.

(En tout cas, c'est ma façon de faire)
 

Staple1600

XLDnaute Barbatruc
Re : Message erreur "méthode ‘_Default’ de l’objet ‘Range’ a échoué"

Bonjour seb, le fil, le forum

Non puisque dès l'ouverture Excel plante et se ferem.

Je suggère de suivre cette voie:

• Inhibe tout le code
(en le mettant en commentaires : ajoute un ' devant la ligne à inhiber) ayant trait à la modification d'Excel)
[highlight] 'Cacher les barres d'outils et noms des colonnes
'
' With ActiveWindow
' .DisplayHeadings = False
' .DisplayHorizontalScrollBar = False
' .DisplayVerticalScrollBar = False
' End With
' With Application
' .DisplayFormulaBar = False
' .DisplayStatusBar = False
' End With[/code]

Répètes cette manip partout dans ton code, puis essaie ton classeur ainsi modifié.

Que se passe-t-il alors?

Est-ce qu'une erreur survient ou pas ?
 

seb26000

XLDnaute Occasionnel
Re : Message erreur "méthode ‘_Default’ de l’objet ‘Range’ a échoué"

J'ai une question, quand tu dis que le fichier plante à son ouverture, c'est lorsque tu as effectué une modification en y intégrant Workbook_open ? Ou c'est la version "initiale" qui est presente dans le fichier erreur.zip qui ne marche pas ? Car si c'est la cas, là c'est pas normal car il fonctionne correctement chez moi et au taf..

Je ne comprends vraiment pas ce qui se passe...
 

Theze

XLDnaute Occasionnel
Re : Message erreur "méthode ‘_Default’ de l’objet ‘Range’ a échoué"

Bonsoir à tous,

Je n'ai pas chargé le fichier mais en suivant votre discussion, je vois que le problème viens de Workbook_Open mais en mettant le code dans Workbook_Activate les problèmes continuent ?

Hervé.
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 326
Membres
103 180
dernier inscrit
Vcr