Bonsoir ; Je rebondis sur la question de dav (sur la liste users), qui rejoint un problème que j'ai constaté en fin de semaine dernière et que je n'avais pas eu le temps de rapporter.
Il s'agit d'une application pour laquelle les étudiants doivent réaliser une macro par enregistrement. Cette macro sélectionne une plage de cellules sur une feuille, se déplace sur une autre feuille, se positionne sur la ligne 4, insère la plage copiée par "collage spécial" (flags nombre, texte, date et format plus déplacement vers le bas), sélectionne quelques lignes après cette insertion, les trie en ordre croissant puis revient sur la feuille initiale pour faire quelques autres actions. Je fais réaliser cette activité depuis plusieurs années. Cette macro - aussi bien son corrigé réalisé par mes soins que les versions réalisées par les étudiants - a toujours marché sans aucun aucun problème, aussi bien sur OpenOffice que sur LibreOffice. Sauf cette année. La différence est la version utilisée, 4.0.4 alors que nous utilisions une version 3.5 l'an dernier. Dans tous les cas, la sécurité des macros est réglée pour qu'elles puissent s'exécuter, le répertoire d'enregistrement du fichier étant déclaré en "zone de confiance". Ce qui se passe est que l'ordre "copier" <dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())> ne semble plus s'exécuter ou ne s'exécute qu'une fois après l'enregistrement. Que celle-ci soit appelée par le menu ou associée à un bouton, c'est toujours le même résultat, les cellules copiées sont celles récupérées lors du dernier enregistrement de la macro. Autre bizarrerie, si on exécute la macro en pas à pas, ça marche. Si on l'exécute normalement, ça ne copie pas. Le problème existe toujours quelles que soient les options du collage spécial, il semble bien venir de la copie qui ne se fait pas. Il subsiste aussi si on recrée un classeur neuf. Le lycée est sous 4.0.4 (et un poste sur lequel j'ai mis la 4.0.5 pour test) et W7 32 bits. Je reproduis le problème chez moi, sur une 4.1.1 sous W8/64 et sur une 4.1.1.2 sous Ubuntu 12.04. Après migration vers la 4.2.1.3 (sous W8/64), le problème ne disparaît pas. Et enfin, dernier test, une réinitialisation du profil ne change rien : la copie ne veut toujours pas s'exécuter. Par contre, aucun problème sur une 3.5.7.2 (sous Ubuntu) : la copie se fait sans difficulté. Un fichier exemple est ici : http://cjoint.com/?0JwuOPQOhEj. Ce n'est pas le fichier complet sur lequel j'ai constaté le problème, mais il le reproduit. Je ne sais pas s'il y a d'autres instructions qui ne marchent plus, il faudrait faire des tests plus complets. Mais une simple copie de cellules, ça représente à mon sens une sérieuse régression. Reproduisez-vous sous d'autres environnements ? Marc Le 22/10/2013 16:14, pierre-yves samyn a écrit : > Bonjour > > > dav wrote >> depuis que j'ai fais la mise a jours la version 4.0 mes macros ne >> fonctionnent plus. ou plutot elle ont un fonctionnement totalement >> aléatoires, une fois elle fonctionne et souvent pas du tout > En matière de macro je ne vois pas, a priori, comment un changement > de version pourrait générer un fonctionnement aléatoire. Des changements > pourraient empêcher *totalement* quelque chose de fonctionner. > > Il se pourrait que le problème soit lié au "profil" (éventuellement récupéré > lors du changement de version). Ceci peut se tester et résoudre de la > manière > indiquée dans cette FAQ : > https://wiki.documentfoundation.org/FR/FAQ/Generale/110 > > La page de téléchargement : http://fr.libreoffice.org/telecharger/ > donne le lien pour trouver une ancienne version : > http://downloadarchive.documentfoundation.org/libreoffice/old/ > > Mais... il serait bien sûr préférable d'identifier le problème et de le > résoudre. > > Cordialement > Pierre-Yves > > > > -- > View this message in context: > http://nabble.documentfoundation.org/macro-version4-0-tp4079234p4079238.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/qa/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
