Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > SDK
SDK Forum d'entraide pour la programmation des outils BO par des API (VBA, ASP, Java)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/12/2006, 09h18   #1
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 37
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 37
Points : 27
Points : 27
Par défaut [VB]Modifier une macro à partir d'une autre macro.

Bonjour,

Savez vous s'il est possible sous BO de modifier une macro VB à partir d'une autre macro VB ?

Sous Excel, cela ne me pose pas de problème, mais je n'arrive pas à adapter mon code sous BO.

Merci.
Ashaar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2006, 09h59   #2
Membre Expert
 
Avatar de nuke_y
 
Inscription : mai 2004
Messages : 1 812
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 1 812
Points : 1 609
Points : 1 609
Pourtant il devrait y avoir le même comportement que sous Excel. Il se passe quoi exactement ?
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

Mon combat pour les droits des consommateurs face aux abus des grandes marques.
nuke_y est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2006, 10h26   #3
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 37
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 37
Points : 27
Points : 27
Bonjour nuke_y,

Sous Excel, le code ci-dessous permet d'insérer une ligne en 3ème position dans la proc "MacroAModifier" qui se trouve dans le "Module1"

Code :
1
2
3
4
5
6
 Sub essai()
  WITH ThisWorkbook.VBProject.VBComponents("Module1").CodeModule
    LiDeb = .ProcBodyLine("MacroAModifier", 0)
    .InsertLines LiDeb + 3, "a=a+1"
  End WITH
End Sub
En fait je n'arrive pas à adapter cette macro pour qu'elle fonctionne sous BO.

Merci
Ashaar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2006, 12h44   #4
Membre Expert
 
Avatar de nuke_y
 
Inscription : mai 2004
Messages : 1 812
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 1 812
Points : 1 609
Points : 1 609
Certes, mais quand tu dis "je n'arrive pas" il se passe quoi exactement ?
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

Mon combat pour les droits des consommateurs face aux abus des grandes marques.
nuke_y est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2006, 15h27   #5
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 37
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 37
Points : 27
Points : 27
Re,

BO ne comprend pas les mots :

ThisWorkbook (c'est bien normal)
VBProject
VBComponents
CodeModule
ProcBodyLine
InsertLines

Après avoir regardé les références dans Excel (outils/références), il semble que ces instructions font partie de : Microsoft Excel 10.0 Object Library.

Donc, la question est : serait il raisonnable de penser qu'il existe une référence BO permettant de faire la même chose mais en VB orienté BO ?

Vu la pauvreté de la documentation BO, je vois pas trop ou je peux trouver ça.

Avez vous des idées ? (Je continue mes recherches).

Je devrai peut être expliquer pourquoi j'essaye de faire cela :

J'ai développé un code permettant de lancer des extractions d'arborescences selon des chemins et des serveurs spécifiques (en dur dans mes macros).

Le soucis est : si le chemin change, je devrai réadapter mon code. N'ayant pas un accès de modification sur les serveurs de productions, cela nécessiterai des demandes dont je me passerai bien.

Je pourrait bien sur créer un fichier TXT ou même un cube pour stocker mes infos, mais j'aimerai éviter cela ;

Placer les variables contenant les chemins dans un module bidon puis modifier les lignes via une autre proc VB (lors de l'appel d'un userform par ex) m'aurait arrangé. J'emploi cette méthode dans Excel afin d'éviter de stocker mes données dans les feuilles Excel.
Ashaar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 16h46   #6
Membre confirmé
 
Inscription : juillet 2005
Messages : 402
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 402
Points : 269
Points : 269
Salut.

J'ai déjà créé/modifier du code dynamiquement, mais c'était sous VBA Access. Pour cela, je ne crois pas que j'utilisais une librairie spécifique à Access, mais je n'arrive plus à mettre la main sur ce (vieu) projet, du coup je ne peux rien certifier.
Ce dont je me souviens, c'est que c'était un peu galère : en gros, pour créer une fonction (ou procédure), il fallait entrer le code au format texte en paramètre d'une fonction, ou encore entrer une ligne de code en spécifiant le n° de la ligne où je voulais la placer (genre setLigne ("ma_fonction", "mon_code", num_ligne) )...

Dit comme ça, c'est pas le bout du monde, mais bien que je ne puisse pas donner plus de détails pour l'instant, il me semble qu'au final, créer une fonction était gérable, mais la modifier était plutôt fastidieux : il était plus simple de la recréer complétement.

Bon, enfin je n'ai pas vraiment fait avancer le schmilblick mais je pense que le forum VB serait plus approprié pour ton problème.
De mon côté, je vais essyer de retrouver mon code et quelques infos sur la question.

A+
marchand_de_sable est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h21.


 
 
 
 
Partenaires

Hébergement Web