Erreur 1004 : Fiabilité

Signaler
Messages postés
9
Date d'inscription
samedi 8 juillet 2006
Statut
Membre
Dernière intervention
21 février 2008
-
Messages postés
9
Date d'inscription
samedi 8 juillet 2006
Statut
Membre
Dernière intervention
21 février 2008
-
Bonjour à tous,
désolé si la question a déjà été posée, mais j'ai un souci de dernière minute avec une appli que je dois fournir à mon boss vendredi.
J'ai tout programmé en utilisant excel 2000 et tout foncionne impeccablemment
Mais en lançant l'application sur excel 2003 j'ai deux imprevus facheux. ( l'utilisateur aura surement excel 2003 ... )

   1) Dans un première fonction j'ouvre un fichier excel, je stock des valeurs prises dans ce fichiers dans des variables et je le ferme sans l'avoir modifié.
Cette opération est répétée plusieurs fois mais dans excel 2003 avant chaque fermeture j'ai le message qui me demande si je veux enregistrer les modifications du fichier ouvert ( alors qu'il n'a pas été modifié à priori ) cela ne se produisait pas dans excel2000. C'est particulièrement génant car cela demande l'action de l'utilisateur un grand nombre de fois. Comment y remedier ?

   2) Plus embetant encore : Dans une autre fonction je fait créer un bouton de commande sur une feuille ( avec un AddOLEObject ). Ensuite je fais mettre le code correspondant à ce bouton dans le code de la feuille en question. Cette opération se déroulait sans problème dans excel2000 mais excel 2003 refuse et me balance une erreur 1004 en me disant qu'il y a un problème de fiabilité.
Du coup j'ai bien mon bouton mais il ne sert à rien puisque le code n'a pas été écrit.
Comment y remedier ?

Merci d'avance pour toute aide

Garfield.

5 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
49
salut,
pour ton 1, en VB6 (désolé) le code ObjXLS.DisplayAlerts = 
False permet d'y remédier.

(çà répond même pas à moitié mais j'suis au max )
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

Pour ton 1, la méthode de PCPT fonctionne comme ceci :
Application.DisplayAlerts = False
mais perso, je te conseille une autre méthode (sinon, t'es obligé de la remettre à true plus loin dans ton code) :
ThisWorkBook.Saved = True
(fait comme s'il a été enregistré, bien que non, et cela t'évite le message)

Pour ton 2, dans le menu outil , macro, sécurité, choisi le 2ème onglet, et coche les deux checkbox.

@++

<hr size ="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
Messages postés
50
Date d'inscription
lundi 20 novembre 2000
Statut
Membre
Dernière intervention
23 janvier 2008

la solution de notre chevalier est bonne pour le 1 mais pour ton second pb j'ai une alternative surtout si c'est une appli pro.


Tu dois creer une signature elctronique qui t'evitera le probleme de fiabilite et surtout le message "Macro: enable, disable etc" c'est mieux pr le user. pour cela va dans


c:\Program files\Microsoft office\office et lance le prog selfcert.exe. tu te cres une signature digitale.


ensuite dans va ds l'editeur VBA puis TOOLS/DIGITAL SIGNATURE et tu selectionnes la tienne ou celle de ta boite.


De cette facon le client aura une seule fois a clicke sur enable macros (qu'il n'oublie pas de cocher la case qui dit de ne plus poser la question pour cette signature) et voila plus de pb de fiabilite.

carvals
Messages postés
61
Date d'inscription
mercredi 14 janvier 2004
Statut
Membre
Dernière intervention
14 septembre 2006

ou encore pour le 1 :
lorsque tu ferme

activeworkbook.Close savechanges:=false
Messages postés
9
Date d'inscription
samedi 8 juillet 2006
Statut
Membre
Dernière intervention
21 février 2008

Merci beaucoup, vos réponses marchent parfaitement, je viens juste de voir la réponse de signature electronique ça va peut-être être juste de pour voir ça demain mais si j'ai le temps j'essayerai.
 
J'ai testé sur l'ordi de mon patron ça marche parfaitement avec les modifs que vous m'avez proposé.
Et le fait qu'il ait coché les cases dans le menu sécurité des macros est conservé même après fermeture d'excel donc comme il lui viendra surement pas à l'idée d'aller toucher ce menu ça devrait aller mais je vais quand même tenter la signature ça me parait plus sur.

Cela dit autre problème completement innatendu qui est survenu quand je faisais ma démo :
le programme ouvre un document powerpoint copie une plage de donnée ( un tableau ) dans excel et la colle dans une diapo de la présentation ( ça me fait un objet feuille excel dans la diapo ). Sur ma version ( windows 2000 , excel 2000, ppt 2000 )  mon tableau arrivait centré sur la diapo mais là sur son ordi le tableau dépassait considérablement la diapo et apperement il n'etait pas du tout evident de la redimensionner correctement. ( à noter que la présentation est enregistrée au format ppt 95-97 car VBA ne voulait pas m'ouvrir d'autre type de présentation à partir d'excel )
Je pense que je dois pouvoir m'en tirer en imposant les dimensions de l'objet une fois inséré mais bon si y'a une option pour le faire direct je suis preneur ...

Merci pour votre aide