Bonsoir,
Si le cœur vous en dit, voici les fichiers de test, l’outil macro (crash_close_v6) et le fichier CSV (data.csv) - mais vous pouvez aussi utiliser un de vos fichiers csv. https://framadrop.org/r/L_UIVKHpFo#iSRx+cK9vEWM77co/hozyKvDaqHoJpFtD6Zdow0Qf CY= https://framadrop.org/r/I07WK82bJ_#lDl+7Q8lXo1Of9rTxLb3AdHW8Fx8Fq44cYNv5Cpyw rk= Avec la 5.4.7 tout va bien, mais avec la v6.0.5 (sur Windows 7) c’est comme indiqué par la couleur des boutons ! J’ai maintenant plusieurs solutions pour éviter le plantage (donc pas de souci pour moi), mais je persiste à penser qu’il n’est pas bon de trouver un crash sur son chemin et que ça vaut la peine d’investiguer. Nota : j’ai commencé à parsemer d’anglais si jamais je devais aller jusqu’à bugzilla, pas pour faire étalage de mes lacunes en cette langue ;-)) Bonne soirée à tous, Michel _____ De : Michel Rudelle [mailto:[email protected]] Envoyé : vendredi 6 juillet 2018 18:19 À : '[email protected]' Objet : [fr-qa] [Calc] [Basic] plantage v6 sur fermeture de fichier Bonjour, Je traite par macro de gros fichiers CSV. Après leur ouverture, j'ai besoin de connaître l'étendue des données (nombre max de colonnes et lignes). Je n'ai pas trouvé de propriété de la feuille qui me donne cette info, aussi j'utilise jusqu'à présent une procédure nommée selecTout (élaborée avec l'enregistreur de macro) qui utilise le dispatcher et qui renvoie la zone de la cellule A1 à la dernière cellule du fichier. Ça marche bien et c'est rapide, et ça dure depuis 2011. Mais voilà que cette procédure provoque un plantage avec la version 6 de LibO (6.05 sur W7, et confirmé chez un client, je ne connais pas son Windows), j'ai fini par trouver, mais c'est bizarre et je ne sais pas si c'est un bug de la v6 ou si les versions antérieures à la v6 étaient permissives: Le plantage a lieu lors de la fermeture du fichier CSV - même pas un enregistrement, simplement : docCSV.close(True). Après investigation, le plantage se produit uniquement si les deux conditions suivantes sont réunies: - ouverture cachée du fichier docCSV (Hidden) - utilisation de la procédure selecTout (qui utilise le dispatcher) Nota : que le fichier CSV ouvert contienne 100 lignes ou 1 000 000, c’est pareil, ok ou ko selon les conditions ci-dessus. Ce qui est curieux, c'est que la procédure selecTout fonctionne, puisque je lis ensuite les max lignes et colonnes et mes traitements sont bons jusqu'au bout, mais la conséquence est de faire planter LibO (longtemps après cette procédure) à la fermeture du fichier. Peut-être que l'usage du dispatcher n'est pas adéquat sur un fichier caché, même si ça a marché jusqu’à présent ? J'ai des solutions de contournement, par exemple trouver la dimension de mes données avec les suggestions du forum OOo: https://forum.openoffice.org/fr/forum/viewtopic.php?f=8 <https://forum.openoffice.org/fr/forum/viewtopic.php?f=8&t=57353> &t=57353 (solution de Hubert) Mais c’est un peu long sur de très gros fichiers (si j’avais une méthode plus rapide ça m'irait) Quel est votre avis sur ce problème ? Bug ou non ? Je peux fournir si besoin un fichier test (j'ai commencé, il me faut le terminer) Cordialement, Michel -- Envoyez un mail à [email protected] pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/qa/ Privacy Policy: https://www.documentfoundation.org/privacy
