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 à [email protected] 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
