Problème d'éditeur VBA pour Arena

cs_Talere Messages postés 102 Date d'inscription vendredi 29 mars 2002 Statut Membre Dernière intervention 14 février 2013 - 14 avril 2006 à 09:50
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 - 27 avril 2006 à 00:11
Bonjour,

J'ai un logiciel "Arena" qui utilise un éditeur VBA (comme Excel ou Word), et depuis quelques jours, la fenetre VBA ne veut plus s'afficher quand j'en fait la demande ( même le raccourci Alt+F11 ne marche plus) ce qui est plutot génant.

Est-ce que quelqu'un a déjà eu quelque chose du style et comment faire pour y remédier...

J'ai tout essayer mis à part le formatage du disque:
Desinstallation puis installation du logiciel --> Sans effet
Désinstallation, effecement de la Base de registre relatif au logiciel puis installation --> Sans effet.

L'OS est Windows 2000

Je vous remercie pour votre aide ...

TALERE

20 réponses

rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
17 avril 2006 à 03:43
Salut Talere,

s'il y a du code dans le document que tu ouvres, s'exécute-t-il?
as-tu un message d'erreur lors du [ALT]+[F11]? si oui, vérifies les paramètres de sécurité des macros (ou ton anti-virus).
es-tu passé par le menu macros>>Visual Basic Editor(s'il existe)?
si tu as un menu macros, peux-tu choisir l'exécution d'une en particulier? Si oui, cherches un bouton "modifier" ou "aller à".

à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
0
cs_Talere Messages postés 102 Date d'inscription vendredi 29 mars 2002 Statut Membre Dernière intervention 14 février 2013
18 avril 2006 à 09:27
Lors de l'appel de VBE, aucun message n'indique d'erreurs et les macros sont introuvables lorsque j'essaie de les exécuter ... j'ai donc plein de projets qui ne marchent plus ... c'est quand même balo !


TALERE
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
18 avril 2006 à 22:57
Salut Talere,

ton problème commence à me plaire (la cause est perdue) :)
si Arena a un moteur d'exécution VBA, on peut penser que peut-être expose-t-il un modèle objet Automation. Est-ce le cas?(si tu ne sais pas répondre, lis la suite)
As-tu Excel? ou VB6?
Si oui, peux-tu vérifier si tu as accès à un modèle objet pour Arena (références, composants)?
Si tu en trouves, dis-nous ce que tu trouves (des noms d'objets ou de *.dll, *.ocx, *.tlb,...).

à+, et courage!


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
0
cs_Talere Messages postés 102 Date d'inscription vendredi 29 mars 2002 Statut Membre Dernière intervention 14 février 2013
19 avril 2006 à 11:11
J'ai essayé les instructions suivantes sour VBA Excel :

Dim Appli_Arena As Object
Set Appli_Arena = CreateObject("Arena.Application")

Dim Appli_Arena As Object
Set Appli_Arena = GetObject(,"Arena.Application")

et Appli_arena me renvoie "Nothing", sans comettre d'erreurs ... il en est de même si j'essaie n'importe quelle classe comme "Word.application" ou "Toto"

Je ne sais pas si ça peux t'aider, mais les mêmes instruction sur un autre poste donne les résultats suivants :
La fonction GetObject me renvoie l'erreur "Un composant ActiveX ne peut créer d'objet" alors que la même instruction avec Word.Application me renvoyait bien l'appli word (j'avais au préalable démarré les applis correspondantes).
la fonction CreateObject me renoive une nouvelle application Arena ou sinon , l'appli déjà ouverte si c'est le cas. Autrement dit, j'ai l'impression que la fonction createobject se comporte comme getobject si l'appli a déjà été démarré.
--> Comme tu peux le constater, ce n'est pas la même chose qu'avec Word ou Excel ...

A plus tard ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
19 avril 2006 à 11:43
Salut Talere,

non, je ne pensais pas à cela (c'est bien quand même, c'est un indice).
Quand tu es dans le VBE d'Excel, choisis le menu Outils>>Références.
Dans la liste, cherches une référence en rapport avec Arena, et coches-la.
Une fois ceci fait, tu pourras, par exemple, ecrire :

Dim Appli_Arena As Arena.Application

ce qui est plus pratique pour étudier son modèle objet.
Puis, toujours dans le VBE, appuies sur la touche [F2], et l'explorateur dd'objet apparaît, encore plus pratique. Dans la combo où est affiché <Toutes bibliothèques>, choisis les interfaces d'ARENA.

Que cherche-t-on? Un moyen de manipuler le VBE d'Arena (j'ai bien écrit VBE, ou VBIDE d'arena), l'environnement intégré de développement VBA d'Arena (cherches aussi la référence Microsoft Basic for Application Extensibility 5.3, pour les mêmes motifs).

Si tu trouves ces références, essaies de les mettre en oeuvre.

à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
0
cs_Talere Messages postés 102 Date d'inscription vendredi 29 mars 2002 Statut Membre Dernière intervention 14 février 2013
19 avril 2006 à 14:17
Salut,

Pour pouvoir manipuler le VBE d'Arena, il faut bien que je génére une instance d'arena ... et pour créer cette instance je dois bien passer par GetObject ou CreateObject, non ? a moins qu'il existe une autre technique que je ne connais pas ... Pour ton info, je trouve bien la référence et je redéfinit plus précisement mes objets, mais ce que je dis dans mon précédant post reste inchangé

Sinon, je n'arrive pas à trouver la référence dont tu me parles ...

A plus,

TALERE
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
19 avril 2006 à 22:21
Salut Talere,

qu'on se comprenne, tu as raison, le CreateObject va très bien, pas de doute là-dessus.
Maintenant, si tu trouve une bibliothèque de types pour Arena, c'est mieux, le modèle objet est plus facile à parcourir et à étudier, c'est tout.

L'équivalent du CreateObject serait :

Dim Appli_Arena As New Arena.Application

rien de bien fondamentalement mieux, sauf le typage fort qui nous permet d'utiliser tous les outils de VB pour explorer le modèle.
L'autre interface dont je t'ai parlé est l'interface qui sert à étendre les possibilités du VBE d'Office. Peut-elle pourrait-elle nous aider avec Arena, mais je crois qu'elle n'est livrée qu'avec les éditions professsionnelles (ou peut-être avec VB, je ne sais plus d'où je la tiens).

Je ne la considère pas comme fondamentale (d'autant que tu ne l'as peut-être pas), car même dans Office, elle n'est pas répartie équitablement. En effet, pour Word et Excel, elle est externe (c'est donc la référence Microsoft Basic for Application Extensibility 5.3 ), et pour Access, elle est intégrée dans les objets du VBA (ex: classes AllFunctions,AllModules,AllMacros,Module...). Il conviendrait de voir comment ça se passe dans Arena (il n'y a que toi qui puisse le faire), voir par exemple, si tu peux instancier Arena, et pointer une référence sur la collection des macros, y accéder, voir les exécuter!(le chemin restant ensuite à parcourir pour remettre le VBE en état de marche serait court).

PS: ce n'est pas le sujet, mais au fait, que fait Arena?(à quoi sert ce logiciel?)
à+

rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
0
cs_Talere Messages postés 102 Date d'inscription vendredi 29 mars 2002 Statut Membre Dernière intervention 14 février 2013
20 avril 2006 à 09:44
Bonjour,

Pour ton info, Arena de chez Rockwell Software est un logiciel de simulation de flux, permettant, entre autre, la modélisation d'ateliers de productions en vue d'évaluer les performances (lorsque l'atelier n'existe pas) ou d'en optimiser son fonctionnement (lorsque l'atelier exoste -> Basé sur un retour d'expérience). C'est l'objet de mon travail et nous sommes 5 à faire ceci dans ma société. Le problème porte sur le poste d'un de mes collègues et comme j'ai en charge également de la maintenance de nos outils, je dois essayer de le résoudre ;-)

Pour en revenir au sujet de discussion, j'avais également tester la possibilité du "Dim Appli_Arena as New Arena.Application" en cochant la bonne bibliothèque dans les références. Cela ne semble pas donner de bon résultats ( en tout cas, ce sont les mêmes qu'avec CreateObject ... pas moyen d'acceder à l'appli sans aucune erreur généré ).

Par contre, il me semble ne pas t'avoir dit qu'il existe 2 versions du logiciel et que c'est la première qui plante ( ce qui est bizarre, c'est que sur d'autres postes, cela ne pose pas de problème ... les deux versions coexiste très bien). En fait, à l'installation de la 2ème version, les deux marchaient très bien depuis quelques mois et le problème est venu tout d'un coup.

sinon, j'ai trouvé la référence dont tu me parles : ce n'est pas Microsoft Basic for Application Extensibility 5.3 mais Microsoft Visual Basic for Application Extensibility 5.3.

Je vais voir comment faire pour essayer d'instancier le projet VBA d'un fichier issu d'Arena en utilisant la bibliothèque que tu m'as parlé et je te tiens au courant ...

En tout cas merci pour ton aide, j'en apprends pas mal sur les possibilités de résoudre certains problème que l'on pourrait penser voué à l'échec ..

TALERE
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
20 avril 2006 à 11:35
Salut Talere,

en effet, cette information est pertinente (double version). Elle amène avec elle des questions :
Qu'est-ce qui ne fonctionne pas? 1./ Tu démarre Arena (avec un doc vide par défaut), et tu ne peux pas accéder à VBA, ou 2./ tu ouvres un document contenant des macros, et là, pas d'accès à VBA?

Si c'est un document que tu ouvres (2./), es-tu sûr que la version dans laquelle il est écrit est la même que celle d'Arena qui s'ouvre automatiquement. Par exemple, j'ai Access97 et 2000 sur mon poste, par défaut c'est Access 97 qui démarre si je double-clique sur un mdb, mais si le mdb est au format 2000, une erreur de déclenche (format non reconnu).

Si tu démarres Arena explicitement (1./), quand tu as ré-installer le logiciel, quelle est la version que tu as ré-installée (à mon avis, il faut réinstaller d'abord la plus ancienne, puis la plus récente).

tiens nous au courant,
à+

rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
0
cs_Talere Messages postés 102 Date d'inscription vendredi 29 mars 2002 Statut Membre Dernière intervention 14 février 2013
20 avril 2006 à 11:50
Pour répondre à ta question, c'est plutot le 1./ : je peux démarrer Arena, mais tout les liens avec VBA ne marche plus (par exemple les macros d'ouverture n'ont plus d'effet). De plus, étant donné qu'il y a deux versions, nous nous imposont de démarrer explicitement la version qui a créér le fichier ... c'est en démarrant une version que celle ci devient la version active ( MAJ de la base de registre commune aux deux versions)


Sinon, je vais essayer de désinstaller les deux versions et de les réinstaller dans l'ordre, en veillant de bien supprimer tout element parasite (repertoire d'installation, base de registre, dossier temporaires)

A plus

TALERE
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
20 avril 2006 à 12:25
Sage initiative de ta part,

moi, je me l'impose aussi, mais je ne le laisse jamais faire la maj Windows de la base, j'annule tous le temps, des fois qu'il lui viendrait à l'esprit de mettre à jour des composants que je ne souhaite pas (peut-être une source d'erreur pour toi).

à+

rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
0
cs_Talere Messages postés 102 Date d'inscription vendredi 29 mars 2002 Statut Membre Dernière intervention 14 février 2013
20 avril 2006 à 12:59
Concernant VBIDE, je ne sais pas trop comment l'utiliser et à quel fin ... peux-tu me détailler un peu plus sur cette bibliothèque ? en effet, j'ai essayé de faire :

Set Mon_VBE=Arena.application.VBE qui n'a pas marché et qui ne m'as pas généré d'erreurs (comme d'hab)

TALERE
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
20 avril 2006 à 14:50
Essaies-ça :

Dim Mon_VBE As VBIDE.VBE


Private Sub Workbook_Open()
Set Mon_VBE = Application.VBE
End Sub

Mets un point d'arrêt sur le "End Sub".
Quand il s'arrête, sélectionne Mon_VBE (surligné), cliques-droit et choisis "Ajouter un espion" (et valides la boite de dialogue).
Dans la fenêtre des Espions, ouvres l'arborescence, et regardes si tu as, par exemple, l'objet ActiveWindow (pour voir s'il est visible), ou si ses coordonnées de positionnement ne sont pas devenues débiles (genre négatif).

Bon, les espions, ça va bien pour lire les propriétés et les types. Si tu veux solliciter des méthodes, lit dans cette fenêtre le type que tu souhaites (en repérant aussi à quoi il est rattaché), crées une variable de ce type, affectes lui la valeur qui convient, et tu pourras accéder à ses méthodes et les tester.

As-tu le MSDN? sinon, quand tu veux des infos particulières sur une méthode, il faudra chercher on line, mais en règle générale, c'est assez intuitif.

à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
0
cs_Talere Messages postés 102 Date d'inscription vendredi 29 mars 2002 Statut Membre Dernière intervention 14 février 2013
20 avril 2006 à 15:41
J'ai créé un document, comme tu me l'as précisé dans le dernier post, depuis un poste qui ne pose pas de problème et j'ai ouvert ce fichier avec le poste à problème ... Verdict : Je me suis fais jeter (Arena s'est arrêté).

J'ai désinstallé Arena ( les 2 versions), nettoyer le registre et les repertoires temp puis installer la première version (sans la seconde) et ça ne marche pas ... j'en conclue que les deux versions peuvent coexister et que c'est un autre paramètre, propre à la première version du soft qui pose problème ... mais lequel ... sais-tu ce qu'il se passe lorsque VBE est appelé depuis Excel ou Word ?

TALERE
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
20 avril 2006 à 15:49
je n'ai pas bien compris ta question VBE.

pour le reste, essaies maintenant de désinstaller, et de ne ré-installer que la 2ème version.


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
0
cs_Talere Messages postés 102 Date d'inscription vendredi 29 mars 2002 Statut Membre Dernière intervention 14 février 2013
20 avril 2006 à 15:58
VBE = Visual Basic Editor, ou alors la fenetre Visual Basic pour Application. D'ailleurs, à ce sujet, sur un poste qui marche, le VBE d'Excel et le VBE d'Arena ne sont pas les mêmes ( et il y a plusieurs variantes suivant les postes ) :
- Certains sont en Anglais pour Arena et en Français pour Office
- D'autres ont la présentation style Win XP alors que l'autre, c'est du style Win 2000 (sur la même bécanes)

J'ai comme la vague impression qu'il y a autant "d'exe" ( ou de dll ) que d'appli en ayant besoin ( en l'occurence, pour moi, au moins 2 --> Arena et Office)... et moi, j'ai un soucis sur l'un d'entre eux ...

Concernant la deuxième version, qu'il y est la première ou pas, ça marche bien ... j'ai bien la fenetre VBE qui s'affiche avec Alt+F11.

TALERE
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
20 avril 2006 à 17:24
tu t'égares, je sais bien que VBE = Visual Basic Editor, je te dis que je ne comprends pas ta question sur VBE :
"sais-tu ce qu'il se passe lorsque VBE est appelé depuis Excel ou Word ", oui je sais ce qui se passe, mais il se passe plein de choses, que veux-tu savoir précisément? (j'abuse un peu, mais je sais pas quoi répondre à ta question)

tu t'égares peut-être encore en disant :
"Concernant la deuxième version, qu'il y est la première ou pas, ça marche bien ... j'ai bien la fenetre VBE qui s'affiche avec Alt+F11", oui, mais ça marche sur le poste qui a un problème? non, j'imagine?
parce que si oui, pourquoi dis-tu :
"la fenetre VBA ne veut plus s'afficher quand j'en fait la demande ( même le raccourci Alt+F11 ne marche plus) ce qui est plutot génant"
et donc, si ça ne marche pas sur ce poste, il convient de tester juste avec la 2ème version, non?

pour les différences d'apparence, de langues, ... le découpage est simple.
En fait, le moteur d'exécution de VBA est fourni par Vba6.dll (ou vbe6.dll).
L'accès au modèle d'extensibilité peut être fourni par VBE6EXT.OLB.

Mais dans Access par exemple, msacc9.olb (référence intrinsèque Microsoft Access 9.0 Object Library), on trouve des objets qui permettent d'accéder au VBIDE, alors que dans Excel, EXCEL9.OLB (référence intrinsèque Microsoft Excel 9.0 Object Library), on n'en trouve pas. Donc, dans Access, on n'est pas obligé de mettre en oeuvre VBE6EXT.OLB.(c'est pourquoi, au début, je te proposait de checher dans le modèle d'Arena si on avait accès au VBIDE)

Dans tous les cas, ces bibliothèques ne sont pas responsables de l'affichage ou du fonctionnement du VBIDE, elles permettent simplement d'y accéder, de le modifier, ou de l'étendre (compléments, pluggins, add-ins...)

à+

rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
0
cs_Talere Messages postés 102 Date d'inscription vendredi 29 mars 2002 Statut Membre Dernière intervention 14 février 2013
20 avril 2006 à 17:55
Pour le premier point, je voulais savoir si la procédure d'appel de VBA n'était pas corrompu et surtour si il y avait un moyen de savoir ce qu'Arena fait pour y accéder et repérer à quel moment ça pouvait merder.
En gros je voulais savoir qu'est-ce que j'oublie lorsque je désinstalle Arena ? ( car a priori, le lien avec VBA reste toujours sur la machine et, ce, malgré le nettoyage du registre et des repertoires "Temp")

Pour le second point, je me suis peut être trompé, ce que je voulais dire, c'est que la nouvelle version d'Arena ne pose pas de problème avec VBA ( et ce, que la première version d'Arena soit installé ou pas) ... ce test a été effectué sur le poste qui pose problème. Y-a-t-il moyen de savoir si mes deux versions d'arena font appel à la même bibliothèque ? car d'un coté, ça marche (2nde version) et de l'autre non (1ère version).

Dis moi si je me trompe : Si on prend l'hypothèse que mes deux versions n'aient pas le même moteur d'execution (pour plusieurs raisons), et que ma première version d'Arena pointe vers le moteur d'execution VBA de ma seconde version (par exemple, la base de registre est commune à n'importe quelle version et donc les liens aussi) : Est-ce qu'il n'y aurait pas un bug dans le moteur de ma seconde version qui dise qu'il n'y a pas de problème lorsque j'essaie de me connecter avec la première version ? (car il n'a pas été prévu une cohabitation des deux versions, et donc l'erreur n'est pas géré)
J'espère que je me fais comprendre et que j'ai bien compris ce que tu m'as dis ...

Sinon, je pense qu'ARENA accède directement au VBIDE (j'espère que je ne me trompe pas en disant cela) car dans l'objet Arena.Application, j'ai un objet VBE ou je peux parcourir l'ensemble de mes projet VBA Arena.

Ta signature signale au moins 4 pages avant de trouver la solution ... j'espère qu'on aura trouvé avant !!!

A +

TALERE
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
20 avril 2006 à 18:10
yes, en fait ma signature dit que je ne me jette pas sur les post (le devant de la vague), j'attend que le sujet arrive en page 4, dans la rubrique "Derniers messages", avant de le traiter (je suis Victor, le nettoyeur), mais parfois, quand je m'accroche à un sujet, je peux me retrouver à remonter tout les sujets non traités de la page 10 à la page 4 (parfois une semaine, avec 25 messages par page, tu sais qu'il y a plus de 3000 pages?), et ce sans compter que j'ai un métier (mais j'ai plusieurs mains, micros, et cerveaux), et un métier bien rempli (10 à 15 h/jour, mais pas forcément des heures pleines, ce qui explique ma présence sur le site).

Si cela peut te rassurer, la semaine dernière j'ai bouclé un sujet à 43 messages (je crois que c'est le record absolu!).

bon, pour ce dont tu me parles maintenant, je vais faire une pause pour rentrer chez moi, et je devrais reprendre le fil dans la soirée (mais il faut pas que je me couche trop tard, demain je pars à 5h).
Au pire, je reviens toujours, ou alors, je dis que je ne reviendrais pas.

donc, d'ici là, gardes la pêche!

PS: pour la version de la bibliothèque d'Arena, essaies de te procurer, gratuitement, le Dependency Walker chez Microsoft, qui liste, sous forme hiérarchique, les dépendances d'un exe, dll, ocx... compilé.
Mais je ne crois pas que cela fonctionnera, car je pense que le VBE fonctionne avec des bibliothèques d'interface (donc virtuelles, abstraites, ...vides quoi), et des liaisons tardives (un peu comme le CreateObject).


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
27 avril 2006 à 00:11
Salut Talere,

un nouveau test pour toi, cherches, dans la base de registres du PC défaillant, si tu trouves la clé VBAOFF.

sinon, cherches, dans la branche HKEY_LOCAL_MACHINE\Software\Policies, une sous-branche qui pourrait être en rapport avec Arena. Si tu la trouves, compares-la avec la même branche, sur un PC ou Arena fonctionne.
Si tu ne vois pas de différence, exportes la branche sous la forme d'un fichier texte, et postes le contenu ici.

courage, à+

rvblogn

<sup>
</sup><sup>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</sup>
0
Rejoignez-nous