pierre-yves samyn wrote > Bonjour Marc > Marc Romano wrote >> As-tu essayé de faire plusieurs lancements successifs, ou de lancer la >> macro après avoir enregistré et réouvert le fichier ? J'ai remarqué que, >> dans quelques cas, la macro s'exécutait quelquefois normalement en >> lancement direct. Mais le problème finit par réapparaître, sans que je >> réussisse à mettre une explication, une séquence précise, sur les >> conditions de réapparition. > Oui j'ai creusé la question. Le problème se pose quand le bouton a > le focus. Dans ce cas la copie est inopérante que la macro soit lancée > via le bouton ou autrement (menus, raccourci). > > Pour le mettre en évidence (et en prévision de la soumission en PJ > du rapport de bug) j'ai créé le classeur joint. Il contient : > - une macro "Disp" qui copie A1:A3 en C1. > - un bouton qui lance la macro. > > À l'ouverture du classeur le bouton a le focus. Lancer la macro > sans cliquer sur le bouton mais via les menus (soit macro> exécuter, > soit macro> gérer> exécuter). Elle ne fonctionne pas (déplacements > et sélection se font mais pas la copie). > > Cliquer dans la feuille (n'importe où) puis relancer la macro via > les menus : tout fonctionne, autant de fois qu'on le souhaite > (modifier la plage A1:A3 pour le vérifier). > CopyDispatch.ods > <http://nabble.documentfoundation.org/file/n4079604/CopyDispatch.ods>
Pour Calc, je reproduis le phénomène sur une 4.1.2.3/W8.1/64 et sur une 4.1.1.2/Ubuntu 12.04. Je complète même ton analyse : le problème se produit dès lors qu'UN bouton quelconque a le focus (même un bouton "vide", sans macro affectée). C'est facile à reproduire avec ton fichier, il suffit de créer un "bouton 2" et de le sélectionner. > Ceci posé, j'ai voulu vérifier si le problème était spécifique à Calc. > J'ai donc créé le document .odt joint. > CopyDispatch.odt > <http://nabble.documentfoundation.org/file/n4079604/CopyDispatch.odt> > > Il contient une macro copiant la cellule A1 d'un tableau en B1 (il faut > positionner à la main le curseur au début de texte en A1 puis lancer > la macro "Disp"). > > De la même manière cela ne fonctionne pas si le bouton a le focus > (par défaut à l'ouverture) et cela fonctionne si on lance "à la main". > < > /quote] > > Le simple fait de positionner le curseur fait perdre le focus. Mais si on > positionne le curseur en dehors du tableau, la macro colle le contenu du > presse-papiers (dans mon essai, les cellules A1:A3 du classeur précédent). > > <quote > > > *Mais*... ceci ne fonctionnait pas non plus avec OOo 3.2.1 (je n'ai > rien d'autre d'ancien sous la main). Ce que je peux t'assurer, c'est que ça marchait très bien dans les versions 3. En effet, le classeur que doivent réaliser mes étudiants comporte une feuille "Facture" avec deux boutons "Imprimer" et "Valider". C'est la macro attachée à "Valider" qui fait la copie sur la feuille d'historique. Or, je leur demande de faire en sorte que cette macro ne puisse être exécutée si la facture n'a pas été imprimée auparavant. Ils sont donc obligés de passer par le bouton "imprimer" (pour économiser du papier, le "dispatch" de l'impression est désactivé... ), puis de valider. Donc, la macro s'exécute pratiquement toujours alors que le focus est sur "Imprimer". Je joins le classeur corrigé, avec les deux boutons et les macros, ce sera plus clair. Nett84_-_corrigé.ods <http://nabble.documentfoundation.org/file/n4079631/Nett84_-_corrig%C3%A9.ods> > Du coup je me demande ce qui est "fautif" : le non-fonctionnement > actuel dans Calc (mais dans ce cas il faut aussi corriger dans writer) > ou le fonctionnement précédent dans Calc... Le problème semble être lié à l'appel d'une macro via les boutons. De toute manière, quelle qu'en soit l'origine, c'est un défaut suffisamment sérieux pour être signalé : une macro de ce type doit s'exécuter à l'identique quelle que soit la manière dont elle est évoquée. > Si tu reproduis je créerais le rapport de bug. Cela dit j'ai quelques > craintes > sur la rapidité de prise en compte (même avec le mot clé régression). > J'ai remonté des bugs critiques (sécurité & perte de données) liés au > basic qui n'ont toujours pas été assignés ni même commentés... Oui, c'est certain. mais je ne pense pas qu'on doive ignorer ce type d'anomalie, dans la mesure où la facilité de mise en oeuvre de VBA et des macros est l'un des principaux arguments que l'on m'assène régulièrement pour me persuader de faire revenir l'établissement sur certaine suite bien connue. J'ai des arguments, certes, mais il est difficile de justifier ce genre de problème. Cordialement ; Marc -- View this message in context: http://nabble.documentfoundation.org/Re-fr-users-Re-macro-version4-0-tp4079257p4079631.html Sent from the QA 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/qa/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
