[Résolu] [Calc] Changement d'image conditionnelle

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 !
GrandSteak
NOOuvel adepte
NOOuvel adepte
Messages : 20
Inscription : 20 oct. 2008 15:06

[Résolu] [Calc] Changement d'image conditionnelle

Message par GrandSteak »

Bonjour, :D

Je voudrais votre aide, car je souhaiterais changer d'image en fonction de condition sur une feuille openoffice calc. je m'explique

Si la case A1=1 => afficher l'image 1 et cacher l'image 2 et 3
Si la case A1=2 => afficher l'image 2 et cacher l'image 1 et 3
Si la case A1=3 => afficher l'image 3 et cacher l'image 1 et 2

Mais je ne souhaite pas avoir les images dans un dossier et les appeller grace a leurs emplacements, le fichier a pour vocation d'etre telecharger et deplacable a souhait. Je prefererais que les images soient dans le fichier excel et que je les affiche et je les cache en fonction des conditions.

Si il y a une solution avec des macros, voudriez vous m'expliquer depuis le debut comme cela fonctionne car je suis novice en macro. :?:

Merci de votre aide
@+
OpenOffice 3.0 sous vista
Avatar de l’utilisateur
Alain de La Chaume
HédOOniste
HédOOniste
Messages : 1527
Inscription : 28 sept. 2008 12:56
Localisation : ʇsǝnoo,ꞁ ɐ ʇuǝɯǝʇǝꞁdɯoↃ

Re: [Calc]Changement d'image conditionelle

Message par Alain de La Chaume »

Bonjour,
C'est mon jour de bonté, alors j'ai bricolé (bidouiller, c'est déjà pris :) ) un petit truc "sur mesure" que je mets en fichier joint.
Si l'exemple vous intéresse, je suis prêt à le commenter davantage.
Bons tests et bonne lecture.
Alain.

P.S. - Il est vrai que les images jointes sont d'un goût ... particulier. D'aucuns prétendent que j'ai un humour un peu... mordant.
Désolé. Je ne le ferai plus. :wink:
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Alain de La Chaume le 25 oct. 2008 17:49, modifié 1 fois.
(API-culteur et pêcheur de macros en mode loisirs occasionnels, mais toujours les pieds dans l'OO)
AOO 4.1.2 sous Linux Xubuntu Voyager 14.04 (x86_64)
GrandSteak
NOOuvel adepte
NOOuvel adepte
Messages : 20
Inscription : 20 oct. 2008 15:06

Re: [Calc]Changement d'image conditionelle

Message par GrandSteak »

Bonjour,

Ta solution semble repondre exactement a mon attente, mais j'ai quelques soucies pour le fonctionnement. Quand j'ouvre ton fichier j'ai un message d'avertissement :
This document contains macro
execution of this macros is disabled due to
the current macro security setting. Therefore,
some functionality may not be available.


Se message semble m'avertir qu'il y a un probleme de securite des macros, mais je ne sais pas ou le changer? Ensuite au lancement du fichier la macro est sensee fonctionner toute seule ou il faut cliquer sur "Run Macro" pour l'executer. Car je souhaite que la macro se lance automatiquement et de maniere certaine a chaque ouverture de fichier et que l'utilisateur n'ai rien a faire!

Quand je rentre un nouveau chiffre en A1 et que je fait "entree" l'image est sense se modifier ou pas? Car comme je n'arrive pas a lancer la macro et bien il ne se passe rien!

D'un point de vue programmation peux tu m'expliquer son fonctionnement car il y a 3 macro differentes et je ne comprend pas trop le principe!

Merci beaucoup de ton aide
a+ et merci
OpenOffice 3.0 sous vista
Avatar de l’utilisateur
Alain de La Chaume
HédOOniste
HédOOniste
Messages : 1527
Inscription : 28 sept. 2008 12:56
Localisation : ʇsǝnoo,ꞁ ɐ ʇuǝɯǝʇǝꞁdɯoↃ

Re: [Calc]Changement d'image conditionelle

Message par Alain de La Chaume »

Bonjour Monsieur GrandSteak,
Pour que la macro du classeur fonctionne il faut tout d'abord,
par le menu OOo :
Outils ... Options ...
- OpenOffice.org
- Sécurité bouton [Sécurité des macros...]
Onglet "Niveau de sécurité"
Sélectionner "Niveau de sécurité moyen".
Et ensuite seulement ouvrir ledit classeur.
Après quoi seulement il sera possible de tester la macro qui n'a pas besoin d'être lancée car, si je me souviens bien de ce que j'ai fait, un capteur est activé à l'ouverture du document Calc et il surveille tout changement dans la cellule A1.
Plus tard, j'ajouterai des informations complémentaires sur la façon dont j'ai construit le "machin".
Bons tests,
Alain.
(API-culteur et pêcheur de macros en mode loisirs occasionnels, mais toujours les pieds dans l'OO)
AOO 4.1.2 sous Linux Xubuntu Voyager 14.04 (x86_64)
GrandSteak
NOOuvel adepte
NOOuvel adepte
Messages : 20
Inscription : 20 oct. 2008 15:06

Re: [Calc]Changement d'image conditionelle

Message par GrandSteak »

Bonjour,

J'ai etudie un peu votre (Alain de La Chaume) programme visual basic pour le changement d'images conditionelle.
Premierement la macro bFctDrawP m'est completement obscure! :( , il semble y avoir deux fonctions creees par vos soin mais je ne les comprend pas!

En revanche, ce que j'ai compris c'est que vous faite un capteur pour tester la cellule voulue, si c'est A1 on va travailler sur les images et si ce n'est pas A1 on fait rien.

J'ai cru comprendre que vous recherchez sur la feuille1 toutes les images qui si trouvent. Mais si c'est le cas, ca va me poser un probleme, car je vais avoir certaines images qui ne doivent pas etre condionelles! On ne pourrait pas definir, tout simplement, les images par leurs noms ou leurs adresses, en evitant de faire une fonction specifique qui allourdis le programme et surtout la comprehension!

Ensuite vous avez ecrit dans la macro aMain

Code : Tout sélectionner

for cpt = 0 to 2
		oImages(cpt) = getImgObj(cpt)
		if isNull(oImages(cpt)) then 
			msgBox "L'image " & cpt+1 & " n'a pas été trouvée !" & chr(13) _
				& "Remédiez au problème avant de ré-ouvrir ce classeur.", 0, _
				"### Sub Capt_Modified ###"
			exit sub 								' >>>>>>>> SORTIE
		end if
	next cpt
qui me semble servir a rien, en revanche il serait utile de mettre une msgbox dans le case else pour avertir que le nombre dans la cellule n'est pas bon.

Voila je crois avoir tout dit pour le moment!
Merci de votre aide :super:
a+
OpenOffice 3.0 sous vista
Avatar de l’utilisateur
Alain de La Chaume
HédOOniste
HédOOniste
Messages : 1527
Inscription : 28 sept. 2008 12:56
Localisation : ʇsǝnoo,ꞁ ɐ ʇuǝɯǝʇǝꞁdɯoↃ

Re: [Calc]Changement d'image conditionelle

Message par Alain de La Chaume »

Bonjour,
la macro bFctDrawP m'est completement obscure! :( , il semble y avoir deux fonctions creees par vos soin mais je ne les comprend pas!
Je confirme, tout a été créé par mes soins. Il est certain que :
- Si les images en question sont toujours sur la première feuille ;
- Si le nombre et le nom des images sont invariables ;
les fonctions de récupération du nom des images et de vérification de leur nombre deviennent inutiles.
Personnellement, j'ai tendance à partir du principe que les données de départ peuvent être amenées à évoluer et c'est pourquoi j'en fais, d'après vous, un peu trop.
Si vous me confirmez ce qui précède, je vais revoir le poids du programme à la baisse - mais pas son prix :lol:.
Alain.
(API-culteur et pêcheur de macros en mode loisirs occasionnels, mais toujours les pieds dans l'OO)
AOO 4.1.2 sous Linux Xubuntu Voyager 14.04 (x86_64)
GrandSteak
NOOuvel adepte
NOOuvel adepte
Messages : 20
Inscription : 20 oct. 2008 15:06

Re: [Calc]Changement d'image conditionelle

Message par GrandSteak »

Bonjour,

Voila comme mon fichier va etre compose:
Sur la feuille 1:
6 images dont 2 qui ne doivent pas etre modifiees, donc toujours affichees et 1 image sur les 4 autres qui doit etre affcihee selon un critere dans une cellule A1 par ex.

Sur la feuille 2:
3 images dont 1 sans modification et 1 des 2 autres doit etre affcihee avec la meme condition (meme cellule A1)

Sur feuille 3:
3 images dont 1 sans modification et 1 des 2 autres doit etre affcihee avec la meme condition que precedement (meme cellule A1)

Ce principe ne devrait pas subir d'evolution, si se n'est le rajout d'images, mais qui devront etre toujours affichees!

Normalement quand j'aurais fini le fichier, le nombre et le nom des images n'a plus lieu d'etre modifies.
Le nom des images est bien definie grace a un clic droit sur l'image et sur nom de l'objet ou en anglais Name Object?

Alors je ne sais pas si votre fonction peut laisser certaine image ou si on les definies au fur et a mesure en fonction de leurs noms.

Voila
Encore merci de votre aide :super:
a+
OpenOffice 3.0 sous vista
Avatar de l’utilisateur
Alain de La Chaume
HédOOniste
HédOOniste
Messages : 1527
Inscription : 28 sept. 2008 12:56
Localisation : ʇsǝnoo,ꞁ ɐ ʇuǝɯǝʇǝꞁdɯoↃ

Re: [Calc]Changement d'image conditionelle

Message par Alain de La Chaume »

Bonsoir,
Suite et fin dans le nouveau fichier ci-joint.
Bons tests. - Alain.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
(API-culteur et pêcheur de macros en mode loisirs occasionnels, mais toujours les pieds dans l'OO)
AOO 4.1.2 sous Linux Xubuntu Voyager 14.04 (x86_64)
nicolas42
NOOuvel adepte
NOOuvel adepte
Messages : 10
Inscription : 31 oct. 2008 08:46

Re: [Calc]Changement d'image conditionelle

Message par nicolas42 »

Bonjour
J'ai trouvé ce post et votre macro est exactement ce que je cherchais ! Merci beaucoup de partager vos lumières ! :bravo:
J'abuse un peu en posant une question supplémentaire : est-ce possible de faire la même chose avec des gif animés ? J'ai essayé avec des gif statiques, ça fontionne, mais pas avec des animations... C'est peut-être dû au fait que les images sont cachées en les rendant transparentes ? Y a-t-il une autre façon de cacher des images ?
Merci d'avance
OpenOffice 3.2 portable (Liberkey) sur Windows XP et OpenOffice 3.1.1 sur Linux Mint
Avatar de l’utilisateur
Alain de La Chaume
HédOOniste
HédOOniste
Messages : 1527
Inscription : 28 sept. 2008 12:56
Localisation : ʇsǝnoo,ꞁ ɐ ʇuǝɯǝʇǝꞁdɯoↃ

Re: [Calc]Changement d'image conditionelle

Message par Alain de La Chaume »

Bonjour,
Pour le problème concernant les gifs animés, voir ce nouveau fil :
http://user.services.openoffice.org/fr/ ... =8&t=12898
Alain.
(API-culteur et pêcheur de macros en mode loisirs occasionnels, mais toujours les pieds dans l'OO)
AOO 4.1.2 sous Linux Xubuntu Voyager 14.04 (x86_64)
GrandSteak
NOOuvel adepte
NOOuvel adepte
Messages : 20
Inscription : 20 oct. 2008 15:06

Re: [Calc]Changement d'image conditionelle

Message par GrandSteak »

Bonjour Alain de la chaume,

je crois que j'ai tres mal explique ce que je voulais. Car je souhaite que la cellule de controle soit une et une seule cellule dans une feuille.
J'ai bien essaye de trouver par moi meme mais le language VBA n'est vraiment pas facile!
Le modérateur a écrit :VBA est le langage des logiciels Microsoft et non OpenOffice.org
voila, en esperant etre plus clair cette fois ci! Je m'excuse pour ce desagrement!

Soit
Si feuil1.A1=1
On affcihe l'image 1 dans la feuil 1 et on cacher les 3 autres et les 2 restantes on n'y touche pas
On affcihe l'image 1 dans la feuil 2 et on cache l'image 2 et on ne touche pas l'autre images
On cache l'image 1et 2 dans la feuille 3 et on ne touche pas a l'autre

Si feuil1.A1=2
On affcihe l'image 2 dans la feuil 1 et on cache les 3 autres et les 2 restantes on n'y touche pas
On affcihe l'image 2 dans la feuil 2 et on cache l'autre image et on ne touche pas l'autre images
On cache l'image 1et 2 dans la feuille 3 et on ne touche pas a l'autre

Si feuil1.A1=3
On affcihe l'image 3 dans la feuil 1 et on cache les 3 autres et les 2 restantes on n'y touche pas
On cache l'image 1et 2 dans la feuille 2 et on ne touche pas a l'autre
On affcihe l'image 1 dans la feuil 3 et on cache l'autre image et on ne touche pas l'autre images

Si feuil1.A1=4
On affcihe l'image 4 dans la feuil 1 et on cache les 3 autres et les 2 restantes on n'y touche pas
On cache l'image 1et 2 dans la feuille 2 et on ne touche pas a l'autre
On affcihe l'image 2 dans la feuil 3 et on cache l'autre image et on ne touche pas l'autre images

Si non, la valeur rentree n'est pas bonne, on fait rien

Nicolas42 a soulever un possible probleme au quel je n'avais pas pense: les extensions des images ont elles une importance? Car je prevois d'utiliser du *.png ou du *.jpg ?

Voila encore merci et desole
a+
OpenOffice 3.0 sous vista
Avatar de l’utilisateur
Alain de La Chaume
HédOOniste
HédOOniste
Messages : 1527
Inscription : 28 sept. 2008 12:56
Localisation : ʇsǝnoo,ꞁ ɐ ʇuǝɯǝʇǝꞁdɯoↃ

Re: [Calc]Changement d'image conditionelle

Message par Alain de La Chaume »

Bonsoir,
GrandSteak dit :
en esperant etre plus clair cette fois ci! Je m'excuse pour ce desagrement!
Disons que mon vieux décodeur n'a pas eu de mise à jour récente... :)
Mais il est certain que plus la lecture des données du problème est ardue, plus il y a de risques d'erreurs d'interprétation... Et moins il y a de candidats pour mettre le nez dedans.
Cela dit, je m'y suis attelé quand même (voir fichier joint).
Si, comme j'ai pu le noter dans l'un de vos précédents billets, des lignes de code vous paraissent superflues, rien de plus facile : vous les mettez en commentaire, et vous testez.
A plus (mais de préférence sur un autre sujet),
Alain.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
(API-culteur et pêcheur de macros en mode loisirs occasionnels, mais toujours les pieds dans l'OO)
AOO 4.1.2 sous Linux Xubuntu Voyager 14.04 (x86_64)
nicolas42
NOOuvel adepte
NOOuvel adepte
Messages : 10
Inscription : 31 oct. 2008 08:46

Re: [Calc]Changement d'image conditionelle

Message par nicolas42 »

Merci beaucoup !
J'abuse encore un peu... :oops:
Je ne sais d'ailleurs pas si ça ne mériterait pas un nouveau fil de discussion...
Comment faire pour que les images ne s'affichent pas en fonction de la saisie d'une valeur dans une cellule donnée, mais de la valeur elle-même (par exemple à la suite d'un calcul d'une fonction) ?
Suis-je bien clair ?...
Merci en tous cas !
A bientôt
OpenOffice 3.2 portable (Liberkey) sur Windows XP et OpenOffice 3.1.1 sur Linux Mint
Avatar de l’utilisateur
Oukcha
RespOOnsable modération
RespOOnsable modération
Messages : 4351
Inscription : 06 oct. 2008 08:03

Re: [Calc]Changement d'image conditionelle

Message par Oukcha »

Bonsoir,
nicolas42 a écrit :Je ne sais d'ailleurs pas si ça ne mériterait pas un nouveau fil de discussion...
Effectivement, car :

Nous vous rappelons les règles de ce forum et notamment la n° 7
Un sujet = le problème d'une seule personne
Vous ne devez pas poser une question dans le fil d'un autre. Celle-ci ne fait qu'interférer et les réponses éventuellement postées ne feront qu'embrouiller la lecture du problème initial. Vous ne pourrez pas ajouter [Résolu] car vous n'êtes pas l'auteur de la première question.
Donc dans tous les cas, vous devez ouvrir un nouveau sujet pour votre question en rappelant que vous avez le même problème que dans ce fil.

Merci de votre collaboration.
                                        
Pour tout savoir sur le fonctionnement de ce forum :arrow: À lire avant tout ! Image
nicolas42
NOOuvel adepte
NOOuvel adepte
Messages : 10
Inscription : 31 oct. 2008 08:46

Re: [Calc]Changement d'image conditionelle

Message par nicolas42 »

Bonjour
J'ai créé un nouveau fil...
http://user.services.openoffice.org/fr/ ... =8&t=12945
Toutes mes excuses
Nicolas
OpenOffice 3.2 portable (Liberkey) sur Windows XP et OpenOffice 3.1.1 sur Linux Mint
GrandSteak
NOOuvel adepte
NOOuvel adepte
Messages : 20
Inscription : 20 oct. 2008 15:06

Re: [Calc]Changement d'image conditionelle

Message par GrandSteak »

Bonjour,

Merci beaucoup pour votre aide, cette fois ci c'est ce que je voulais et ca marche super bien! :bravo:

Pour finir je voudrais juste savoir autre chose:

En realite la cellule de controle est sur la feuille 4 (fichier joint) et elle est gere par une list box dans le feuille 1. Mais j'ai remarque que le changement de la cellule sur la feuille 4 n'est pas pris en compte par la macro. En revanche quand je la change moi-meme et que je fais entree ca marche.
De plus si je mets cette cellule dans la feuille 1 avec la liste box (feuille active) et que lors du relachement du bouton de la souris j'active la macro "initCapteur" la ca marche, mais c'est pas ce que je veux! :fou:

Alors peut etre faut il dans la macro rendre actif la cellule concernee?

Voila, Encore merci de votre aide
a+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 3.0 sous vista
Avatar de l’utilisateur
Alain de La Chaume
HédOOniste
HédOOniste
Messages : 1527
Inscription : 28 sept. 2008 12:56
Localisation : ʇsǝnoo,ꞁ ɐ ʇuǝɯǝʇǝꞁdɯoↃ

Re: [Calc]Changement d'image conditionelle

Message par Alain de La Chaume »

Bonjour,
GrandSteak a écrit : cette fois ci c'est ce que je voulais et ca marche super bien!
[...]mais c'est pas ce que je veux! [...]
La seule question que je me pose maintenant,
c'est : "... avec, ou sans moutarde ?"
Plus sérieusement, je jette l'éponge. Si ce que vous voulez est ce que souhaite
également nicolas42 (voir http://user.services.openoffice.org/fr/ ... =8&t=12945),
je ne sais pas faire. Je suis moi aussi débutant et les listeners me sont encore étrangers.
Je crois que vous devriez cibler et simplifier votre question et la poser dans un nouveau fil.
Bon courage.
Alain.
(API-culteur et pêcheur de macros en mode loisirs occasionnels, mais toujours les pieds dans l'OO)
AOO 4.1.2 sous Linux Xubuntu Voyager 14.04 (x86_64)
nicolas42
NOOuvel adepte
NOOuvel adepte
Messages : 10
Inscription : 31 oct. 2008 08:46

Re: [Calc]Changement d'image conditionelle

Message par nicolas42 »

En tous cas, merci pour l'aide apportée !
A bientôt
OpenOffice 3.2 portable (Liberkey) sur Windows XP et OpenOffice 3.1.1 sur Linux Mint
Avatar de l’utilisateur
Alain de La Chaume
HédOOniste
HédOOniste
Messages : 1527
Inscription : 28 sept. 2008 12:56
Localisation : ʇsǝnoo,ꞁ ɐ ʇuǝɯǝʇǝꞁdɯoↃ

Re: [Calc]Changement d'image conditionelle

Message par Alain de La Chaume »

Bonne nuit,
Un peu agacé par les changements successifs dans l'énoncé du problème,
je me suis un peu emballé. Finalement c'est même plus simple avec ces
D E R N I E R E S données.
J'envoie donc le dernier fichier d'exemple.
Alain.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
(API-culteur et pêcheur de macros en mode loisirs occasionnels, mais toujours les pieds dans l'OO)
AOO 4.1.2 sous Linux Xubuntu Voyager 14.04 (x86_64)
Avatar de l’utilisateur
Dans quelle étagère
MOOdérateur
MOOdérateur
Messages : 312
Inscription : 04 oct. 2008 17:28

Re: [Calc]Changement d'image conditionelle

Message par Dans quelle étagère »

Bonjour,
Si Alain de la Chaume finit par écrire :
Un peu agacé par les changements successifs dans l'énoncé du problème
c'est que vos messages ne correspondant pas à la règle du forum qui édicte :
7. Un seul problème à la fois
Afin d'avoir une base de connaissance efficace, vous êtes priés de ne pas mettre deux problèmes différents dans une même question.
Nous vous demandons d'inscrire la balise [Résolu] dans le titre de votre premier message.
Puis d'en ouvrir un nouveau si vous avez une autre demande.
OpenOffice.org 3.1.1 sous Windows XP SP3