Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Erreur 430 [ Langages dérivés / VBA ] (Nulll)

mardi 13 novembre 2007 à 16:47:23 | Erreur 430

Nulll

Bonjour à tous,

Je développe pour un client une application sur Excel.
Mon ordinateur de travail est sous Window XP pro et trourne avec Office 2007. C'est lui que j'utilise pour développer. Cependant en test final j'utilise mon portable qui est aussi XP mais utilise Office 2000 car mon client a tout son parc de PC avec cette version.

Je viens de finir la dernière partie de mon mandat, à savoir, constituer des contrats personnalisés sur Word en le remplissant des divers résultats calculés en amont de mon application. J'utilise des signets pour cela. Tout cela fonctionne très bien. Ensuite je veux sauvegarder dans un dossier particulier ce document:

 ChangeFileOpenDirectory CStr(ActiveWorkbook.Path) & "\Archives"

Sur mon poste principal ca fonctionne super. Sur le portable j'ai une erreur 430 "La classe ne gère pas Automation ou l'interface attendue" au niveau de cette ligne.

Tout ce que j'ai essayé n'a rien donné et pour une fois je n'ai pas trouvé de situation vraiment similaire et de solution claire sur Internet.

Une chose importante que vous devez savoir: Mon client qui est une très grosse et très sensible entreprise refuse que l'on "joue" avec les paramètres et les bibliothèques de leur parc (C'est pour cela que l'application est sur Excel et non compactée à partir d'un langage quelconque). Les solutions qui seraient de dire "va changer sur la machine telle version de dll ou autre" n'est pas la réponse que j'espère.

Merci par avance

mardi 13 novembre 2007 à 17:04:52 | Re : Erreur 430

Renfield

Administrateur CodeS-SourceS
sur qu'il n'y a pas de "\" final dans ActiveWorkbook.Path ? (pourquoi ce Cast via CStr ?) je ne trouves pas ChangeFileOpenDirectory dans l'explorateur d'objets :/

mardi 13 novembre 2007 à 17:50:23 | Re : Erreur 430

Nulll

Comme j'ai essayé bien des combinaisons je ne sais plus pourquoi j'en suis finalement arrivé à l'écrire ainsi. Donc suite, à ta suggestion, je viens de l'écrire comme cela: 

ChangeFileOpenDirectory ActiveWorkbook.Path & "Archives"


... toujours le même message....

En ce qui concerne sa présence dans explorateur objet:
Il appartient à la bibliothèque Word (Microsoft Word 9 coché sur le portable et 12 sur le PC principal)
En faisant "définition" directement dessus on le trouve dans la classe Global. Et en faisant une recherche directement dans l'explorateur il apparait aussi dans la classe Application.

Cela allume-t-il une lumière??? Moi je suis dans le noir

mardi 13 novembre 2007 à 18:33:40 | Re : Erreur 430

Renfield

Administrateur CodeS-SourceS
de la chance qu'il apparaisse, moi, je ne l'ai po


Renfield
Admin CodeS-SourceS- MVP Visual Basic

mardi 13 novembre 2007 à 19:48:25 | Re : Erreur 430

Nulll

Bon... étrange...
Maintenant y a 2 façons de m'en sortir:
Soit on cherche pourquoi moi je le vois dans les objets et pas toi ... en supposant que cela débouche sur une solution...
Soit je réécris le code en utilisant une autre approche
Vu le peu de lignes en jeu je préfèrerai la dernière solution.

Tout d'abord il faut savoir que si j'élimine la ligne de code à problème, l'instruction suivante qui fait un "save as" me sauvegarde alors mon fichier Word dans "Documents". Donc ce n'est pas une catastrophe.
Je voulais cependant immédiatement ouvrir ce document sauvegardé en "Print preview". Mais je ne suis pas à l'aise de lui dire où aller chercher dans ce cas car le dossier "Documents" se trouve généralement sous le nom de la personne loggée. Il doit y avoir un tour de passe passe que je ne connais pas.

Pour résumer, si j'arrive à sauvegarder dans le dossier archives, ou au pis aller, si je suis capable d'aller ouvrir le fichier dans documents et cela quel que soit le poste où l'application est utilisée j'estimerai mon problème comme résolu.

Merci encore par avance

mercredi 14 novembre 2007 à 09:38:02 | Re : Erreur 430

Renfield

Administrateur CodeS-SourceS
concatène ton chemin au nom de fichier filé a la sauvegarde... pas possible ca ?

mercredi 14 novembre 2007 à 14:02:27 | Re : Erreur 430

Nulll

Regarde:

"C:\Documents and Settings\Fredou\Mes documents"    Ca c'est mon PC principal
"C:\Documents and Settings\Natalie B\My documents" Ca c'est le PC portable

Sachant que ce n'est pas moi qui installe l'utilitaire sur chaque poste de mon client. Sachant aussi que dès que je demande de faire quelque chose de particulier même simple cela devient un immense problème pour eux, il vaut mieux que je me débrouille pour trouver une solution universelle et transparante pour eux, c'est à dire qui ne demande pas de rentrer au préalable chaque chemin.

La solution pour l'instant je ne la connais pas mais je vois deux pistes à explorer:
Soit il existe une façon d'écrire le chemin pour accéder à mes documents qui ignore la particularité du dossier nommé avec le log.
Soit je trouve le moyen de récupérer le nom du log et de l'affecter à une variable string que je concatène alors dans le reste (pour le côté bilingue j'en fait mon affaire (je suis au Québec)). Je pense que ce serait le meilleur choix

Qu'en penses-tu?


mercredi 14 novembre 2007 à 15:56:36 | Re : Erreur 430

Nulll

Réponse acceptée !
Mon plan B fonctionne:

Je ne lui indique pas où sauvegarder donc il sauve dans Mes documents.
Ensuite j'ai trouvé les quelques lignes de code sur
[ Lien ]

qui me permettent de récupérer le login pour l'insérer ensuite dans la concaténation du chemin pour accéder au dossier Mes documents.

Je repproche tout de même à Mes documents d'être un fourre tout où se retrouvent bien des fichiers qu'on n'est pas spécialement interressé à classer. En bref c'est souvent le bordel pour retrouver d'un coup d'oeil un fichier. Même si je suis maintenant à l'aise de montrer mes résultats à mon client, ultimement je souhaite toujours sauvegarder dans un dossier dédié.

Quelqu'un a une idée???

Merci pour tout vos efforts et votre patience


mercredi 14 novembre 2007 à 16:39:39 | Re : Erreur 430

Nulll

Réponse acceptée !

Mon plan A fonctionne aussi maintenant:

Je viens de lire l'aide dans l'explorateur d'objets. Lorsque l'on fait MWord.ActiveDocument.Save (ou SaveAs) suivi de FileName =  " xxxx.doc", on peut remplacer le nom du fichier par tout son chemin et évidement le nom du fichier au bout. That's all!!!

Je ne saurais donc probablement jamais où était mon problème d'origine mais au moins j'ai réussi à le contourner!

Merci pour ton aide Renfield


mercredi 14 novembre 2007 à 17:11:37 | Re : Erreur 430

Renfield

Administrateur CodeS-SourceS
pas terrible de se fier simplement au nom... pas sur

utilises les Apis prévues a cet effet, afin de recuperer avec certitude le chemin vers 'mes documents'

voir entre autres:
SHGetSpecialFolderLocation
SHGetPathFromIDList

Renfield
Admin CodeS-SourceS- MVP Visual Basic


1 2

Cette discussion est classé dans : application, erreur, excel, client, utilise


Répondre à ce message

Sujets en rapport avec ce message

Erreur sur un poste client [ par Seth77 ] Salut J'ai fait une application utilisant Excel et j'ai l'erreur suivante sur le poste client : File or assembly name Intercop.Excel, or one of its de error excel lors execution macro [ par andreolia ] bonjour, J'ai developpé une application sous excel qui utilise des macros (et forms). Mon application fonctionne correctement sur la plupart d VB6 et Excel [ par gege5908 ] Bonjour à tous, Je me considère comme débutant en VB6. J'ai une application qui utilise un classeur  Excel avec mise ne forme (4 feuilles) pour prés Excel 2007-Fermeture intempestive [ par Joseph67 ] Bonjour,J'ai créé voici 2 ans une application sous Excel 2003.Après avoir acquis Office 2007, j'ai converti cette application sous Excel 2007.Le probl Deploiement d'une application Excel [ par aquibad ] bonjour à tous,j'ai realisé une appli Excel avec VSTO2005se sous Visual Studio 2008 avec un projet "Setup et Deploiement" construit de la meme manière Erreur 1004 VB [ par ptitelili059 ] Bonsoir à tousVoilà j'ai un petit programme qui me liste tous le contenu de ma colonne mais quand je lance le programme, j'ai l'erreur suivante : "Err Erreur automation [ par bruno ] BonjourJ'ai développé une application VB lançant Excel via OLE.l'application fonctionne parfaitement sur la plupart des postes déployés mais sur quelq Erreur d'éxécution en automation VB-Excel [ par criche ] Benoit StéphaneErreur d'éxécution en automation VB-ExcelLe code VB suivant intégré dans un formulaire VB, ouvre un nouveau document excel, y affiche d Erreur Ouverture d'excel [ par stage ] j'ai sa dans mon code :Dim app_exc As Excel.ApplicationSet app_exc = CreateObject("Excel.application")Set app_exc = GetObject("C:\Mes documents\modele erreur 2015 : transformation, via une application VB, fichier excel en format texte [ par zayd ] bonjour je suis entrain de developper une application qui convertit un fichier excel,composé de plusieurs feuilles, en un fichier texte sous un format


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,484 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.