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


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".
&lt;
/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).

&lt;quote
&gt;
*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 à qa+unsubscribe@fr.libreoffice.org 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

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.