rectangleShape et affectation de macro

bonjour à tous,

je cherche à faire en macro une assignation de macro sur un objet type
RectangleShape.

je vais essayer d'être claire.

dans un premier temps j'ai une macro qui insère des objets (RectangleShape)
dans une feuille calc je voudrais que soit "assigner" une autre macro ou une
boite de dialogue à l'objet que je viens d’insérer. du style boite de
dialogue qui modifie la taille de l'objet en question.

assigner une macro à une forme facile "click droit; Assigner macro; choisir
la macro" mais je ne veux pas le faire comme cela.

j'ai cherché , mais je n'ai pas trouvé de chose concluante.

cordialement.

Bonjour

yoyo63 wrote

je cherche à faire en macro une assignation de macro sur un objet type
RectangleShape.

Ci-joint un exemple. Je n'ai commenté que ce tu n'as pas déjà
réalisé. Le programme crée un rectangle et affecte au clic sur
cette image la macro "MacroALancer".

Ce qui est à adapter : le nom du module où se trouve la macro à exécuter
et son nom.

CréerRectangleEtAffecterMacro.ods
<http://nabble.documentfoundation.org/file/n4074319/CréerRectangleEtAffecterMacro.ods>

Cordialement
Pierre-Yves

Un grand merci,

rapide et efficace.

cordialement

Message du 16/09/13 09:52
De : "pierre-yves samyn [via Document Foundation Mail Archive]"
A : "yoyo63"
Copie à :
Objet : Re: rectangleShape et affectation de macro

Bonjour

yoyo63 wrote
je cherche à faire en macro une assignation de macro sur un objet type RectangleShape.

Ci-joint un exemple. Je n'ai commenté que ce tu n'as pas déjà
réalisé. Le programme crée un rectangle et affecte au clic sur
cette image la macro "MacroALancer".

Ce qui est à adapter : le nom du module où se trouve la macro à exécuter
et son nom.

CréerRectangleEtAffecterMacro.ods

Cordialement
Pierre-Yves

If you reply to this email, your message will be added to the discussion below:
http://nabble.documentfoundation.org/rectangleShape-et-affectation-de-macro-tp4074271p4074319.html
To unsubscribe from rectangleShape et affectation de macro, click here.
NAML

Bonjour,

Comme pour les fingers j'en veux un peu plus.

Est ce que l'on peu mettre dans le script le nom de l'objet à cliquer comme argument pour la macro à exécuter du style macro:style arg:"boite1"

Cordialement

Envoyé de mon iPad

Bonjour

yoyo63 wrote

Comme pour les fingers j'en veux un peu plus.

Je serais tenté de te "retourner le compliment" car tu ne donnes vraiment
pas beaucoup d'indications :slight_smile:

Je *suppose* donc que :
- tu veux gérer plusieurs formes
- tu veux leur associer la même procédure
- le fait que la macro associée au clic ne "remonte" pas l'événement
(et ne permet donc pas de remonter à l'objet) te gêne.

Partant de ces *suppositions* je te propose la modifiation suivante:
séparer la procédure de traitement "principal" de la procédure d'appel.
Autrement dit, affecter au clic des procédures différentes, très courtes
(une seule ligne suffit) qui appellent la procédure principale en lui
passant en paramètre de quoi déterminer quel traitement exécuter.

Dans l'exemple joint la procédure crée 2 rectangles...

CréerRectangleEtAffecterMacro.ods
<http://nabble.documentfoundation.org/file/n4075007/CréerRectangleEtAffecterMacro.ods>

Si mes suppositions ne répondent pas à la question... il faudra préciser
davantage.

Cordialement
Pierre-Yves

cela répond en partie à ma demande
 
mais le nombre d'objets risque d'être beaucoup plus nombreux environ une centaine voir plus.
 
il va falloir écrire toute les situations possibles.
 
l'idée que je voulais faire était d'attribué un nom à l'objet au moment de la création (cela c'est OK)
assigné une macro à l'objet  (cela c'est OK) et lui affecter un parametre afin de dissocier l'objet cliquer afin de rappeler les caractéristiques de l'objet en question.
 
je ne sais pas si j'ai été claire.
 
je joint un fichier calc d'un exemple de ce que je veux obtenir, l'idée quand je clic sur une des barres verte, j'obient une boite de dialogue avec les caracteristiques de la ligne "seconde d'ouverture" et "durée de vert" et autre caractéristique.
 
sinon je ferais autrement avec un menu déroulant afin de choisir la ligne mais j'aime bien que le travail soit déja fait.:wink: puisque j'ai cliqué.
 
cordialement.

Message du 22/09/13 07:44
De : "pierre-yves samyn [via Document Foundation Mail Archive]"
A : "yoyo63"
Copie à :
Objet : Re: rectangleShape et affectation de macro

Bonjour

yoyo63 wrote
Comme pour les fingers j'en veux un peu plus.

Je serais tenté de te "retourner le compliment" car tu ne donnes vraiment
pas beaucoup d'indications :slight_smile:

Je *suppose* donc que :
- tu veux gérer plusieurs formes
- tu veux leur associer la même procédure
- le fait que la macro associée au clic ne "remonte" pas l'événement
(et ne permet donc pas de remonter à l'objet) te gêne.

Partant de ces *suppositions* je te propose la modifiation suivante:
séparer la procédure de traitement "principal" de la procédure d'appel.
Autrement dit, affecter au clic des procédures différentes, très courtes
(une seule ligne suffit) qui appellent la procédure principale en lui
passant en paramètre de quoi déterminer quel traitement exécuter.

Dans l'exemple joint la procédure crée 2 rectangles...

CréerRectangleEtAffecterMacro.ods

Si mes suppositions ne répondent pas à la question... il faudra préciser
davantage.

Cordialement
Pierre-Yves

If you reply to this email, your message will be added to the discussion below:
http://nabble.documentfoundation.org/rectangleShape-et-affectation-de-macro-tp4074271p4075007.html
To unsubscribe from rectangleShape et affectation de macro, click here.
NAML

Sans nom 3.ods (13K) <http://nabble.documentfoundation.org/attachment/4075013/0/Sans%20nom%203.ods>

Suite...

yoyo63 wrote

cela répond en partie à ma demande
 
mais le nombre d'objets risque d'être beaucoup plus nombreux environ une
centaine voir plus.

Juste pour me faire plaisir je note qu'il me semble que toutes mes
suppositions
étaient exactes :slight_smile:

Le nombre d'objets n'était pas donné et je comprends que cela pose
problème.

Il aurait été plus simple d'utiliser des contrôles (type bouton de
formulaire)
qui auraient la même présentation mais permettrait en plus de remonter
au contrôle appelant...

Avec des objets de dessin je peux te proposer la solution suivante:
générer automatiquement les procédures dans un module dynamique.
Dans le classeur joint, lancer la procédure Module1>PysBouclerImg
Cette dernière :
- "boucle" sur toutes les formes dont le nom commence par "vert"
- crée dans le module Images une procédure du même nom que l'objet
- associe le lancement de la procédure à l'événement
- cette procédure appelle la procédure Module1>AfficheDialogue
en lui passant ce qu'on veut en paramètre

Nouveauté ici : la gestion dynamique du module Images.

Nota :
- le temps d'exécution sera d'autant plus long qu'il y aura de contrôles. 
- il peut être nécessaire de recharger le classeur après traitement pour
consulter le module Images (affichage non rafraîchi autrement).

Sans_nom_3_pys.ods
<http://nabble.documentfoundation.org/file/n4075037/Sans_nom_3_pys.ods>

Cordialement
Pierre-Yves

bonjour,

effecivement pierre-yves tu as raison sur tout les points  après recherche en long et en large sur le net j'en arrive à la même conclusion que toi, il faut autant de procedure qu'il y a d'objet.

mais il y a peut-être une piste interressante, pas du coté d'assignation de macro, mais du côté d'ajout d'un hyperlien à l'image avec le quelle nous pourrions récupéré url et une fois décortiqué récupérer les arguments necessaire

je te joint le lien http://www.oooforum.org/forum/viewtopic.phtml?t=59902

c'est le travail de VILLEROY.

qu'en pense tu ?

est-ce une bonne piste?

cordialement

Message du 22/09/13 15:25
De : "pierre-yves samyn [via Document Foundation Mail Archive]"
A : "yoyo63"
Copie à :
Objet : Re: rectangleShape et affectation de macro

Suite...

yoyo63 wrote
cela répond en partie à ma demande
 
mais le nombre d'objets risque d'être beaucoup plus nombreux environ une centaine voir plus.

Juste pour me faire plaisir je note qu'il me semble que toutes mes suppositions
étaient exactes :slight_smile:

Le nombre d'objets n'était pas donné et je comprends que cela pose
problème.

Il aurait été plus simple d'utiliser des contrôles (type bouton de formulaire)
qui auraient la même présentation mais permettrait en plus de remonter
au contrôle appelant...

Avec des objets de dessin je peux te proposer la solution suivante:
générer automatiquement les procédures dans un module dynamique.
Dans le classeur joint, lancer la procédure Module1>PysBouclerImg
Cette dernière :
- "boucle" sur toutes les formes dont le nom commence par "vert"
-  crée dans le module Images une procédure du même nom que l'objet
- associe le lancement de la procédure à l'événement
- cette procédure appelle la procédure Module1>AfficheDialogue
en lui passant ce qu'on veut en paramètre

Nouveauté ici : la gestion dynamique du module Images.

Nota :
- le temps d'exécution sera d'autant plus long qu'il y aura de contrôles. 
- il peut être nécessaire de recharger le classeur après traitement pour
consulter le module Images (affichage non rafraîchi autrement).

Sans_nom_3_pys.ods

Cordialement
Pierre-Yves

If you reply to this email, your message will be added to the discussion below:
http://nabble.documentfoundation.org/rectangleShape-et-affectation-de-macro-tp4074271p4075037.html
To unsubscribe from rectangleShape et affectation de macro, click here.
NAML

effecivement cela à l'aire de marcher.

je te joint ton fichier modifié à l'arrache.

pour info

Je pense que cela va simplifier bien des chose.

cordialement.

Message du 22/09/13 15:25
De : "pierre-yves samyn [via Document Foundation Mail Archive]"
A : "yoyo63"
Copie à :
Objet : Re: rectangleShape et affectation de macro

Suite...

yoyo63 wrote
cela répond en partie à ma demande
 
mais le nombre d'objets risque d'être beaucoup plus nombreux environ une centaine voir plus.

Juste pour me faire plaisir je note qu'il me semble que toutes mes suppositions
étaient exactes :slight_smile:

Le nombre d'objets n'était pas donné et je comprends que cela pose
problème.

Il aurait été plus simple d'utiliser des contrôles (type bouton de formulaire)
qui auraient la même présentation mais permettrait en plus de remonter
au contrôle appelant...

Avec des objets de dessin je peux te proposer la solution suivante:
générer automatiquement les procédures dans un module dynamique.
Dans le classeur joint, lancer la procédure Module1>PysBouclerImg
Cette dernière :
- "boucle" sur toutes les formes dont le nom commence par "vert"
-  crée dans le module Images une procédure du même nom que l'objet
- associe le lancement de la procédure à l'événement
- cette procédure appelle la procédure Module1>AfficheDialogue
en lui passant ce qu'on veut en paramètre

Nouveauté ici : la gestion dynamique du module Images.

Nota :
- le temps d'exécution sera d'autant plus long qu'il y aura de contrôles. 
- il peut être nécessaire de recharger le classeur après traitement pour
consulter le module Images (affichage non rafraîchi autrement).

Sans_nom_3_pys.ods

Cordialement
Pierre-Yves

If you reply to this email, your message will be added to the discussion below:
http://nabble.documentfoundation.org/rectangleShape-et-affectation-de-macro-tp4074271p4075037.html
To unsubscribe from rectangleShape et affectation de macro, click here.
NAML

=?UTF-8?Q?Cr=C3=A9erRectangleEtAffecterMacro(1).ods?= (14K) <http://nabble.documentfoundation.org/attachment/4075112/0/%3D%3FUTF-8%3FQ%3FCr%3DC3%3DA9erRectangleEtAffecterMacro(1).ods%3F%3D>

Bonjour

yoyo63 wrote

je te joint le lien http://www.oooforum.org/forum/viewtopic.phtml?t=59902
c'est le travail de VILLEROY.
qu'en pense tu ?

J'avais rapidement essayé cette piste sans succès (la macro ne se déclenche
pas lors du clic).

J'ai essayé le code de Villeroy mais, si je ne doute pas que cela ait
fonctionné,
en tout cas cela ne marche pas dans ma configuration... Je n'ai hélas pas
non plus le temps de creuser cela trop longtemps... :slight_smile:

Pour mémoire outre les contrôles "bouton" qui régleraient ton problème
il y aurait la piste de la gestion des événements. Dans ceux pilotables
directement
au niveau de la feuille tu pourrais recourir au double clic (vérifier le
type de
l'objet, et si c'est un des rectangles attendus faire le travail). Il y a
aussi bien sûr les
"listener" mais c'est plus lourd et susceptible d'être désactivés...

Cordialement
Pierre-Yves

Merci encore pour ton expertise.

Au fur et à mesure de l'avancement de en mon projet nos chemins vont sûrement se recroiser.

Je fais faire des tests avec l'url, si la manipulation fait le travail j'en resterai là pour ce type de commande avant d'aller manipuler les listener

Cordialement

Lionel