[calc] Liaison par macro entre deux feuilles : problème de recherche dans la plage liée

Bonjour,

soit une série de classeurs (un par mois) entre lesquels je veux réaliser des reports d'un mois sur l'autre. J'ai créé une macro qui réalise le lien de la feuille "à reporter" du mois précédent vers la feuille "report" du mois courant. Jusque là, pas de pb.

Là où mon pb se niche c'est dans la recherche (fonction RECHERCHEV()) des valeurs au sein de la plage liée (feuille "report"). Bien que les valeurs reportées (il s'agit de noms) soient bien présentes, elles ne sont pas trouvées... Or, si, dans cette même feuille "report", je saisis manuellement les valeurs, alors la recherche les trouve. J'en pers mon LibO (à défaut de Latin)...

Pour que vous puissiez mieux constater, j'ai créé un jeu de test "report.zip", téléchargeable ici, sur framadrop :
https://framadrop.org/r/7CNHGBAY4w#OmdgYQZoQMWJ260sU/g29gQAL2bO9fgDweB9mNcU0IE=

Ce jeu est constitué de 2 classeurs dotés chacun de 4 feuilles identiques en structure (classeurs test_mois1 et test_mois2). Le classeur test_mois2 est, au surplus, doté de la macro qui réalise le report (macro ChargerReports() dans Module1 de la bibliothèque Standard).

Les feuilles :
-- travail : la feuille de saisie (col sur fond jaune pâle).
-- table : la liste des noms et les durées associées. Cette feuille est accédée depuis "travail"
-- à reporter : les données pour le mois suivant
-- report : les données lues pour le mois précédent.
C'est la colonne A de cette feuille qui me fait souci.

Classeur test_mois2 : Le bouton "Lire les reports" sur la feuille "travail" réalise la liaison avec la feuille "à reporter" de test_mois1.
Des commentaires figurent sur cette feuille "travail" dans test_mois2.

Merci d'avance pour une aide au diagnostic...

Bonsoir Jean-François,

-----Message d'origine-----
De : Jean-Francois Nifenecker [mailto:jean-
francois.nifenecker@laposte.net]

Bonjour,

soit une série de classeurs (un par mois) entre lesquels je veux
réaliser des reports d'un mois sur l'autre. J'ai créé une macro qui
réalise le lien de la feuille "à reporter" du mois précédent vers la
feuille "report" du mois courant. Jusque là, pas de pb.

Là où mon pb se niche c'est dans la recherche (fonction RECHERCHEV())
des valeurs au sein de la plage liée (feuille "report"). Bien que les
valeurs reportées (il s'agit de noms) soient bien présentes, elles ne
sont pas trouvées... Or, si, dans cette même feuille "report", je saisis
manuellement les valeurs, alors la recherche les trouve. J'en pers mon
LibO (à défaut de Latin)...

Pour que vous puissiez mieux constater, j'ai créé un jeu de test
"report.zip", téléchargeable ici, sur framadrop :
https://framadrop.org/r/7CNHGBAY4w#OmdgYQZoQMWJ260sU/g29gQAL2bO9fgDweB9mNc
U0IE=

Ce jeu est constitué de 2 classeurs dotés chacun de 4 feuilles
identiques en structure (classeurs test_mois1 et test_mois2). Le
classeur test_mois2 est, au surplus, doté de la macro qui réalise le
report (macro ChargerReports() dans Module1 de la bibliothèque Standard).

Les feuilles :
-- travail : la feuille de saisie (col sur fond jaune pâle).
-- table : la liste des noms et les durées associées. Cette feuille est
accédée depuis "travail"
-- à reporter : les données pour le mois suivant
-- report : les données lues pour le mois précédent.
C'est la colonne A de cette feuille qui me fait souci.

Classeur test_mois2 : Le bouton "Lire les reports" sur la feuille
"travail" réalise la liaison avec la feuille "à reporter" de test_mois1.
Des commentaires figurent sur cette feuille "travail" dans test_mois2.

C'est une régression:
Testé avec (Vista-32b): Résultat:
  5.0.5.2 défaut
  5.0.3.2 défaut
  3.6.7.2 Ok

Si tu enregistres après avoir fait le report (que le lien soit rompu ou pas)
à la réouverture du classeur, la recherche fonctionne.

Un contournement testé: rajouter une feuille report_2 avec une recopie par
formule (=report.A2, etc) et faire la recherche dans cette feuille.

Je n'ai pas trouvé de bug correspondant (mais je n'y ai pas passé beaucoup
de temps non plus)

Cordialement,
Michel

Erreur de transcription de mes tests, la 2ème ligne était erronée, voici le
bon tableau:

Testé avec (Vista-32b): Résultat:
  5.0.5.2 défaut
  4.4.6.3 défaut
  3.6.7.2 Ok

Michel

Bonsoir Michel,

C'est une régression:
Testé avec (Vista-32b): Résultat:
  5.0.5.2 défaut
  5.0.3.2 défaut
  3.6.7.2 Ok

Si tu enregistres après avoir fait le report (que le lien soit rompu ou pas)
à la réouverture du classeur, la recherche fonctionne.

Un contournement testé: rajouter une feuille report_2 avec une recopie par
formule (=report.A2, etc) et faire la recherche dans cette feuille.

Je n'ai pas trouvé de bug correspondant (mais je n'y ai pas passé beaucoup
de temps non plus)

Super ! Merci mille fois ! Je devenais fou avec ce truc...

Je vais voir s'il y a un bug déclaré et, sinon, le déclarer.

Bonne soirée,

Bonjour,

Le report s'effectue sans problème jusqu'à :
LO 4.1.6.2 Build ID: 40ff705089295be5be0aae9b15123f687c05b0a
et ne marche plus à partir de :
LO 4.2.0.0.beta1 Build ID: f4ca7b35f580827ad2c69ea6d29f7c9b48ebbac7
sous Windows 7 Home.
Même constat que Michel : après enregistrement et réouverture, la recherche fonctionne à nouveau.
Des valeurs ne sont donc pas mises à jour immédiatement...

Jacques

Bonjour Jacques,

Le report s'effectue sans problème jusqu'à :
LO 4.1.6.2 Build ID: 40ff705089295be5be0aae9b15123f687c05b0a
et ne marche plus à partir de :
LO 4.2.0.0.beta1 Build ID: f4ca7b35f580827ad2c69ea6d29f7c9b48ebbac7
sous Windows 7 Home.
Même constat que Michel : après enregistrement et réouverture, la
recherche fonctionne à nouveau.
Des valeurs ne sont donc pas mises à jour immédiatement...

Merci pour la confirmation.

Amicalement,

Bonjour,

Là où mon pb se niche c'est dans la recherche (fonction RECHERCHEV())
des valeurs au sein de la plage liée (feuille "report"). Bien que les
valeurs reportées (il s'agit de noms) soient bien présentes, elles ne
sont pas trouvées... Or, si, dans cette même feuille "report", je saisis
manuellement les valeurs, alors la recherche les trouve. J'en pers mon
LibO (à défaut de Latin)...

[...]

Merci d'avance pour une aide au diagnostic...

Merci à Michel et Jacques eux qui se sont penchés sur le pb.

Je n'ai pas trouvé de bug déclaré sur ce sujet dans Bugzilla. Je rédigerai donc ce soir un nouveau rapport de bug.

Amicalement,

Bonjour,

j'ai créé le rapport de bug 98546
https://bugs.documentfoundation.org/show_bug.cgi?id=98546

Bonne journée,