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 à [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

Répondre à