[Résolu][Calc] Action liée au changement de couleur champs

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Solaris
Membre hOOnoraire
Membre hOOnoraire
Messages : 146
Inscription : 02 août 2017 21:55

[Résolu][Calc] Action liée au changement de couleur champs

Message par Solaris »

Bonjour,

J'ai une macro (écrite par un intervenant sur un autre fil) qui me permet le changement de l'arrière plan d'un champs.
Mon problème est que j'avais lié cette macro à 3 évènements de chaque champs ce qui (pour moi) résolvait mon problème du "quand le champ change de couleur" mais a généré des plantages de Calc.
La modération vous a écrit: Merci de citer l'intervenant et la macro

Je vous joins mon fichier test qui comporte la macro qui est uniquement liée à "texte modifié" pour les champs traditionnels et "statut modifié" pour les cases à cocher. Ce document ne plante donc plus.
Avant je liais cette macro à = 1/ réception du focus 2/ perte du focus 3/ souris à l'extérieur

Mon objectif est que le champs change de couleur quand la valeur indiquée n'est ni vide ni la valeur par défaut.
Cependant, ma feuille de formulaire est remplie de deux manières :
- à la main champs par champs : et dans ce cas la macro associée à texte modifié fonctionne bien
- lorsque j'ai juste besoin d'actualiser une ligne en la complétant, je copie colle la ligne concernée (une des lignes à partir de la ligne 3 de la feuille champs) pour la coller à la ligne 2 de la feuille champs ce qui remplit automatiquement ma feuille formulaire avec les données saisies. et c'est dans ce cas que cela bloque car si avant le fait de passer dans le champs avec la touche tabulation ou la souris suffisait à changer la couleur, maintenant il faut que je rentre dans chaque champs pour modifier le texte pour que la couleur s'actualise.
Le but du changement de couleur est de me permettre d'identifier visuellement et donc rapidement les champs vides.

Je vous remercie pour vos idées et/ou solutions.

Merci!
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Solaris le 08 avr. 2018 20:29, modifié 1 fois.
Libre office 7.3.2.2
Windows 11
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: [Calc] Action liée au changement de couleur champs

Message par OOotremer971 »

Bonjour,

Sans rentrer dans le détail des macros et de leur fonctionnement, pour moi ton fichier est corrompu.

Il très long à s'ouvrir, et très peu véloce. En ouvrant le fichier content.xml, on peut constater entre autre que la feuille champs contient presque 3000 objets dessin invisibles (sans doute des copies de quelque chose effectuées à ton insu par l'intermédiaire d'une macro.
Solaris1.png
Solaris2.png
Si je supprime la feuille champs du fichier, il s'ouvre immédiatement, redevient véloce et si j'observe le content.xml, les 3000 bizarreries ont disparues.

Pour moi ce fichier est corrompu et à refaire de zéro avant d'y insérer des macros

@+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
Solaris
Membre hOOnoraire
Membre hOOnoraire
Messages : 146
Inscription : 02 août 2017 21:55

Re: [Calc] Action liée au changement de couleur champs

Message par Solaris »

Merci pour votre réponse même si c'est une mauvaise nouvelle :roll:
Je tente quand même de voir avec vous quelques précisions :
-puis-je quand copier/coller les cellules de la ligne feuille champs pour récupérer toutes les formules dans le nouveau doucement ?
-est ce que je peux copier/coller les champs des feuilles formulaires vers le nouveau document ?

Merci en tout cas!
Libre office 7.3.2.2
Windows 11
Avatar de l’utilisateur
luky-luke
InconditiOOnnel
InconditiOOnnel
Messages : 936
Inscription : 27 nov. 2010 00:17
Localisation : gâtine deux-sèvrienne

Re: [Calc] Action liée au changement de couleur champs

Message par luky-luke »

Bonjour
OOotremer971 a écrit :Pour moi ce fichier est corrompu et à refaire de zéro avant d'y insérer des macros
+1
Solaris a écrit :-puis-je quand copier/coller les cellules de la ligne feuille champs pour récupérer toutes les formules dans le nouveau doucement ?
-est ce que je peux copier/coller les champs des feuilles formulaires vers le nouveau document ?
Si l'on doit en croire les propriétés du fichier, tu travail dessus depuis septembre 2017, il a plus de 350 heures en édition et plus de 1900 enregistrement.
Repartir d'un fichier vierge est un bon exercice d'apprentissage non :wink: Et il aura le mérite d'être "sains" et pédagogique. Faire et refaire fait partis de l'apprentissage et aide à la bonne compréhension de l'ensemble.
Bon courage
Cordialement
Luke
AOO 4.1.3 et LibO 5.3.7.2 Ubuntu 16.04 LTS et Debian 9
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
Solaris
Membre hOOnoraire
Membre hOOnoraire
Messages : 146
Inscription : 02 août 2017 21:55

Re: [Calc] Action liée au changement de couleur champs

Message par Solaris »

Ce fichier est déjà le fruit du faire et défaire car en vrai j'y travaille depuis avril 2017 donc un an mais j'ai changé, refait etc...
allez je me re re lance. :aie:
Par contre, on est d'accord que je ne mets aucune macro pour le moment?
Libre office 7.3.2.2
Windows 11
Solaris
Membre hOOnoraire
Membre hOOnoraire
Messages : 146
Inscription : 02 août 2017 21:55

Re: [Calc] Action liée au changement de couleur champs

Message par Solaris »

Me revoilà avec un début de nouveau fichier car avant d'aller plus loin autant savoir s'il est bon...

Concernant mon problème de macro avec la couleur de l'arrière plan du champs, il est toujours le même.

Bon dimanche!
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre office 7.3.2.2
Windows 11
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: [Calc] Action liée au changement de couleur champs

Message par OOotremer971 »

Bonjour,

Ton fichier paraît correct à présent. Est-ce que tu pourrais détailler un peu la fonctionnalité que tu attends de chaque bouton ? Apparemment il en manque 1 par rapport au fichier précédent mais j'aimerai avoir le détail précis de ce doit faire un bouton (histoire de vérifier qu'il n'y a pas d'erreur dans les codes)

Actuellement, de ce que j'ai compris, l’arrière plan des contrôles de formulaire ne s'actualise pas lorsque la feuille champs est modifiée manuellement ou par copier/coller. J'ai donc ajouté un bouton à la feuille champs qui va utiliser le code déjà en place pour modifier l'arrière des contrôles lorsqu'ils sont directement modifiés à partir du formulaire. Et ça marche. Je te laisse tester.
On peut se passer du bouton et utiliser l’événement de feuille contenu modifié de la feuille champs, mais cela implique que la moindre modification effectuée manuellement sur cette feuille engendre l'appel de la macro. A toi de voir ce qui disconvient le moins.

Un fichier pour tester :
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
Solaris
Membre hOOnoraire
Membre hOOnoraire
Messages : 146
Inscription : 02 août 2017 21:55

Re: [Calc] Action liée au changement de couleur champs

Message par Solaris »

Bonsoir,

Merci bcp pour cette réponse!
Le bouton répond parfaitement à mes besoins. Le changement de couleur permet un check visuel pour éviter les éviter les oublis de certains champs donc c'est top! merci bcp.

Par contre, dans le fichier que tu as joint, le bouton 1 (celui qui a la macro Toutrechercher) plante. Je joins une copie d'écran de l'erreur.
Capture.PNG
Ensuite je voulais savoir comment se passe la coexistence de boutons sur la même feuille car j'ai l'impression que des fois en cliquant sur le bouton 1 c'est le bouton 2 qui s'exécute (quand le bouton 2 est réglé sur la réception du focus).

Mon objectif pour ce fichier est à terme d'avoir 4 macros (là j'en suis à faire coexister les 3 premières!):
- une première qui me permet d'enlever toutes les valeurs qui je considère parasites car non pertinentes (30/12/1899, 01/01/2001 et #N/D) et qui finit par enregistrer le document
- une deuxième qui sert à ouvrir le document voulu mais ça je le fais par un bouton auquel j'affecte l'action 'ouvrir la page web' et je choisis mon doc
- une troisième qui me permet copier ma ligne 2, insérer une ligne 3 et coller ligne 2 sur ligne 3 et finir par réinitialiser le formulaire
- la quatrième consistera (si c'est possible!) à couper la dernière ligne de la feuille champs qui comporte une saisie (avec en référence la colonne A), pour coller en ligne 2

Mes problèmes actuels sont que :
-LukyLuke m'a fait une super macro pour mon copier/insert/coller mais j'ai mal formulé ma demande car j'ai demandé à ce que la ligne 2 soit effacée sauf les formules (et c'est ce qu'il m'a fait!) alors qu'en fait je voudrais que la feuille formulaire soit réinitialisée (donc remise à 0 en gardant les valeurs par défaut quand il y en une). Du coup pour pallier à mon erreur, j'ai mis sur le bouton en charge de la macro CopierInsertColler l'action réinitialiser le formulaire. Sauf qu'en faisant ça, si je veux que la macro de l'insert et la réinitialisation s'opèrent, je dois mettre la macro insert liée à la réception du focus. Or si je la mets à la réception du focus, des fois elle se lance quand je clique sur le bouton 1 (qui a la macro tout remplacer). Si j'affecte cette macro à exécuter la commande, lorsque je clique sur le bouton, seule la réinitialisation s'effectue (et non l'insert).
- je comprends pas ce problème d'enregistrement récurrent

J'ai conscience que mon message dépasse largement le cadre du titre d'origine. Dois-je le mettre en résolu et continuer sur un autre fil?

En tout cas merci bcp!

bonne soirée
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre office 7.3.2.2
Windows 11
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: [Calc] Action liée au changement de couleur champs

Message par OOotremer971 »

Solaris a écrit :Par contre, dans le fichier que tu as joint, le bouton 1 (celui qui a la macro Toutrechercher) plante. Je joins une copie d'écran de l'erreur.
Je ne reproduis pas chez moi et au regard de la capture d'écran que tu joins, il plante au moment d'enregistrer le fichier. Cela me laisse supposer que tu as essayé le fichier directement à partir d'un répertoire sur lequel tu n'as pas les droits d'écriture ou alors il y a un truc qui m'échappe. Mais le problème ne vient pas du fichier.
Solaris a écrit :J'ai conscience que mon message dépasse largement le cadre du titre d'origine. Dois-je le mettre en résolu et continuer sur un autre fil?
Oui et de plus tout se mélange et ça devient compliqué de traiter d'un problème à la fois. Je te suggère effectivement de clore ce sujet puisque le problème initial est résolu et d'en ouvrir autant d'autre que de problème qu'il reste à résoudre en évitant les amalgames et les chevauchements.
Solaris a écrit :je dois mettre la macro insert liée à la réception du focus. Or si je la mets à la réception du focus, des fois elle se lance quand je clique sur le bouton 1

C'est tout à fait normal car lorsque tu passes d'un contrôle à un autre, le suivant prend automatiquement le focus. Et c'est ce qui se passe lorsque tu cliques sur le bouton1
Toutes les macros ne sont pas éligibles au déclenchement à la réception du focus. Et d'ailleurs pour ton fichier tu devrais en faire le deuil car tu reviendras continuellement avec un nouveau problème lié à un déclenchement intempestif d'une macro appelée par la réception du focus.

J'oubliais, tu parles régulièrement de formule dans les différents échanges mais je ne les vois jamais dans tes fichiers. Si tu pouvais dans un prochain post donner un exemple et préciser ce qu'il faut en faire ou pas
@+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
Solaris
Membre hOOnoraire
Membre hOOnoraire
Messages : 146
Inscription : 02 août 2017 21:55

Re: [Calc] Action liée au changement de couleur champs

Message par Solaris »

Merci beaucoup!
Je pense qu'effectivement j'ai cafouillé avec le fichier qui en lecture seule... :marto:
Libre office 7.3.2.2
Windows 11