[Résolu][Calc] Images s'affichant en fonction dune valeur

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 !
Julie_ALEC
Fraîchement OOthentifié
Messages : 5
Inscription : 08 juil. 2015 09:03

[Résolu][Calc] Images s'affichant en fonction dune valeur

Message par Julie_ALEC »

Bonjour,

Je fais suite au sujet d'image conditionnelle : https://forum.openoffice.org/fr/forum/v ... =8&t=12699.

Étant novice en macro, je n'arrive pas à reprendre les macros d'Alain de La Chaume du sujet citer ci-dessus pour les appliquer à mon cas.
En fait, je voudrais simplement qu'en fonction d'un chiffre dans une cellule (de 1 à 4), une seule image (4 différentes) apparaissent dans une autre cellule sur une autre feuille et que les autres ne s'affichent pas.
Ce chiffre s'affiche grâce à une fonction recherchev.

Je vous met mon fichier en pièce jointe pour mieux comprendre.
En sachant que je n'ai inscrit qu'un seul poste (toiture) mais que dans mon fichier final, j'ai en tout 8 postes différents avec la même macro à utiliser pour chaque poste.

Si quelqu'un sait comment faire pour me dépatouiller de ces histoires de macro.

Merci beaucoup et bonne journée.

Julie
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 4.4.3.2
Win 8.1
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] images s'affichant en fonction dune valeur

Message par Alain de La Chaume »

Bonjour, et bienvenue à bord.

Un petit exemple vite fait et si nécessaire les explications suivront plus tard...
2015-07-08_Julie_ALEC__ADLC-01.ods
Bien coOordialement, 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)
Julie_ALEC
Fraîchement OOthentifié
Messages : 5
Inscription : 08 juil. 2015 09:03

Re: [Calc] images s'affichant en fonction dune valeur

Message par Julie_ALEC »

Merci pour ce premier essai mais en fait :

je souhaite que tous mes postes s'affichent ce qui donne au final sur la feuille de rendu uniquement le nom du poste avec sa jauge en face (8 images à afficher et 24 à cacher : pour chaque poste les chiffres vont de 1 à 4 et les images sont à chaque fois les 4 jauges).
Et donc toutes les autres données sont à aller chercher dans la feuille de données.

J'imprime la feuille de rendu et je souhaite voir uniquement certaines informations s'afficher.

Pour info :
Je suis allée éditer ta macro et quand j'ai voulu changé oCell = oFeuille.getCellRangeByName("H13") en remplaçant H13 par "'feuille1'D5"
lorsque je veux exécuter la macro ça me donne le message suivant : Une erreur de structure de script s'est produite lors de l'exécution du script Standard.Jauge.afficherJauge de Basic. Message : wrong number of parameters!
je crois vraiment que je ne suis pas très douée pour ça! ;-)
LibreOffice 4.4.3.2
Win 8.1
Avatar de l’utilisateur
Grenouille
ManitOOu
ManitOOu
Messages : 3223
Inscription : 13 janv. 2006 16:21
Localisation : Chasseneuil-du-Poitou / Futuroscope

Re: [Calc] images s'affichant en fonction dune valeur

Message par Grenouille »

Bonjour,

J'ai regardé ton classeur :
bof.png
Plutôt que d'afficher une image qui va allourdir le poids du fichier, tu as la possibilité de changer la couleur de la cellule en fonction de sa valeur.
Voir le tutoriel sur le formatage conditionnel.
Julie_ALEC a écrit :je crois vraiment que je ne suis pas très douée pour ça!
Sans doute plus simple que d'utiliser des macros.

A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.5 et LibreOffice 5.3.4 (par obligation) sous Windows 7
Julie_ALEC
Fraîchement OOthentifié
Messages : 5
Inscription : 08 juil. 2015 09:03

Re: [Calc] images s'affichant en fonction dune valeur

Message par Julie_ALEC »

En fait, c'est pour un rendu pro et les cellules qui se colorent je sais faire mais c'est pas très sexy niveau graphisme!
Les images de jauge, je les ai créé donc j'aimerais bien les utiliser ;-) (le graphisme me réussit mieux que les macros)

Merci de l'idée quand même mais pas adapté dans ce cas.
LibreOffice 4.4.3.2
Win 8.1
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26193
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] images s'affichant en fonction dune valeur

Message par Dude »

Salut,
Julie_ALEC a écrit :j'ai voulu changé oCell = oFeuille.getCellRangeByName("H13") en remplaçant H13 par "'feuille1'D5"
lorsque je veux exécuter la macro ça me donne le message suivant : Une erreur de structure de script s'est produite lors de l'exécution du script Standard.Jauge.afficherJauge de Basic. Message : wrong number of parameters!
Comme d'habitude, fournis donc le classeur en question.
L'erreur "mauvais nombre de paramètres !" est normal.
getCellRangeByName n'attend qu'un nom de cellule ou une plage.
Le nom de la feuille est déjà défini par l'objet oFeuille.
Voir le Wiki sur le sujet.
Julie_ALEC
Fraîchement OOthentifié
Messages : 5
Inscription : 08 juil. 2015 09:03

Re: [Calc] images s'affichant en fonction dune valeur

Message par Julie_ALEC »

Je remet donc le classeur plus clairement :

J'ai donc 3 feuilles : une pour rentrer mes données (données logement) , une qui me donne un rendu final que je peux imprimer (rendu passeport) et une ou je met toutes les sources pour mes formules (sources).
Je souhaite donc pouvoir rendre compte uniquement par le visuel (image de la jauge) le niveau (de 1 à 4) de chacun des 8 postes (toiture, murs, ouvrants,...) en affichant la bonne image en fonction de la valeur qui s'affiche dans ma feuille de données.
jauge rouge : 1
jauge orange : 2
jauge jaune : 3
jauge verte : 4

Est-ce que quelqu'un a donc une solution de macro pour faire ça ?

Merci
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 4.4.3.2
Win 8.1
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26193
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] images s'affichant en fonction dune valeur

Message par Dude »

Réalisation à l'aide d'un commentaire relié à la cellule affichant la valeur :
_macro.png
Une macro connectée à l'évènement de feuille "Contenu modifié" assure l'affichage de l'image :

Code : Tout sélectionner

Sub OuSuisJe(oEvt)
	sURL = "vnd.sun.star.GraphicObject:" 
	Dim sImg(1 to 4) as string
	sImg(1) = "1000020100000192000000F313C64542"
	sImg(2) = "1000020100000191000000F3C69F7AEA"
	sImg(3) = "1000020100000190000000F37C733F98"
	sImg(4) = "1000020100000192000000F3A5864249"
	oAdr = oEvt.getCellAddress()
	oCol = oAdr.Column + 1
	oLig = oAdr.Row
	oFeuille = ThisComponent.CurrentController.ActiveSheet
	oCell = oFeuille.getCellByPosition(0,0)
	oDude = oCell.Annotation.getAnnotationShape
	oCell = oFeuille.getCellByPosition(oCol,oLig)
	
	oComm = oCell.getAnnotation()
	oTexte = oCell.getString()

	If oComm.IsVisible = false then exit Sub
	oForm = oComm.getAnnotationShape()
	oForm.FillBitmap = oDude.FillBitmap
	oForm.FillBitmapURL = sURL & sImg(oTexte)
	oForm.FillStyle = com.sun.star.drawing.FillStyle.BITMAP
End Sub
Le nom des images est récupérable en analysant l'archive ODS.
Elles sont stockées dans le répertoire Pictures
indicateur thermique.ods
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Julie_ALEC
Fraîchement OOthentifié
Messages : 5
Inscription : 08 juil. 2015 09:03

Re: [Calc] images s'affichant en fonction dune valeur

Message par Julie_ALEC »

Bonjour,

Merci à toi dude pour le travail mais ce n'est pas encore ça.
Je pense que je ne suis pas assez précise : en fait je voudrais que les images ne s'affichent pas sur la même feuille que les données
Je te met en copie mon document final, ce sera plus simple (je pensais simplifier en ne mettant que les chiffres et les images mais non!) Sur le fichier j'ai mis manuellement les images correspondant à la valeur : c'est donc le rendu que je souhaite obtenir mais j'aimerais donc qu'il soit automatisé.
J'aimerais également que mes images restent accessibles facilement car ce n'est peut être pas leur place définitive : soit je garde la présentation avec mon diagramme araignée, soit je fais une liste.

Dis moi ce que tu en penses.

Merci.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 4.4.3.2
Win 8.1
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26193
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] images s'affichant en fonction dune valeur

Message par Dude »

Julie_ALEC a écrit :Je pense que je ne suis pas assez précise : en fait je voudrais que les images ne s'affichent pas sur la même feuille que les données
Rien ne t'empêche d'adapter l'exemple que j'ai pris la peine de créer pour que les "commentaires avec image" soient affichés ailleurs.
Julie_ALEC a écrit :Dis moi ce que tu en penses.
J'en pense que le temps est précieux... surtout le mien.

Merci d'ajouter [Résolu] au début du titre de ton 1er message sans oublier de cocher la case de l'icône de sujet (le V vert).