Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


Bonjour


Michel ANDREU-2 wrote
pour affecter une macro à une cellule, autrement que 
pour sélectionner une feuille bien sûr ; par exemple pour effectuer un 
tri, comment fait-on ?

C'est une question potentiellement assez vaste... 
Une question importante est peut-être davantage  
comment désire-t-on déclencher la macro ?

Quelques principes généraux...

Le lancement d'une procédure se fera en réaction à un événement.
Les "média" (au sens de moyen de transmission de l'information) les plus
courants seront le clic (ou double clic) et le raccourci-clavier.

Le lancement par raccourci-clavier peut sembler simple à gérer:
on choisit le raccourci et on associe la macro. En fait cela peut
être un peu plus compliqué car les raccourcis sont par défaut
définis pour tout LibreOffice ou tout Calc.

On voit qu'un programmeur "prudent" devra s'assurer que la 
macro est disponible (et non stockée dans un classeur particulier)
et que le contexte d'exécution est bien celui attendu. Se posent 
en outre les problèmes d'installation et portabilité du mécanisme.

Les lancements par  clics pourront aller du choix de la macro à 
lancer dans un menu Outils>Macro ou personnalisé (voire une 
extension), ou dans un dialogue personnalisé, au clic sur un 
outil dans une barre personnalisée ou non, au clic sur un bouton 
de commande ou autre contrôle de formulaire, au double clic 
dans la cellule ou à la simple sélection de cette dernière.

Comme tu as pu le remarquer, un clic droit sur une cellule ne
propose pas d'associer le lancement d'une macro à "quelque
chose" (sélection, modification, clic...).

C'est en revanche disponible pour les feuilles : un clic droit
sur l'onglet puis "Événements de la feuille" liste les événements
"feuille" auxquels on peut associer le lancement d'une macro.

On voit que, quel que soit l'événement choisi, la macro devra
traiter le contexte si on désire qu'elle s'applique à une cellule
en particulier : un double-clic "feuille" peut très bien avoir été
fait sur un objet de dessin ou un graphique par exemple...

Il est également possible de programmer la réaction à la
modification d'une cellule en particulier. Ceci est possible
en cas "d'erreur" via Données> Validité (onglet Message
d'erreur> Action).  

C'est possible aussi via la création d'un "listener" (gestionnaire 
d'événement) défini pour la cellule... mais ceci devra être
activé par une macro qu'on devra préalablement lancer...
par exemple lors de l'ouverture du classeur ou autre
événement :)

Question assez vaste disais-je...


PS: l'assignation d'une macro à un dessin ou image semble
"cassé" en Version 4.0.1.2 windows... Je n'ai pas trouvé d'Issue
et pourtant cela me "rappelle quelque chose" ???

Cordialement
Pierre-Yves



--
View this message in context: 
http://nabble.documentfoundation.org/Calc-affecter-une-macro-a-une-cellule-tp4041211p4045696.html
Sent from the Users mailing list archive at Nabble.com.

-- 
Envoyez un mail à users+help@fr.libreoffice.org pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être 
supprimés

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.