[Résolu][Calc] Images s'affichant en fonction dune valeur
Modérateur : Vilains modOOs
Règles du forum
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 !
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
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
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
Win 8.1
-
Alain de La Chaume
- 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
Bonjour, et bienvenue à bord.
Un petit exemple vite fait et si nécessaire les explications suivront plus tard... Bien coOordialement, Alain.
Un petit exemple vite fait et si nécessaire les explications suivront plus tard... 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)
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
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!
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
Win 8.1
-
Grenouille
- ManitOOu

- Messages : 3223
- Inscription : 13 janv. 2006 16:21
- Localisation : Chasseneuil-du-Poitou / Futuroscope
Re: [Calc] images s'affichant en fonction dune valeur
Bonjour,
J'ai regardé ton classeur : 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.
A+
J'ai regardé ton classeur : 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.
Sans doute plus simple que d'utiliser des macros.Julie_ALEC a écrit :je crois vraiment que je ne suis pas très douée pour ça!
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
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.
Les images de jauge, je les ai créé donc j'aimerais bien les utiliser
Merci de l'idée quand même mais pas adapté dans ce cas.
LibreOffice 4.4.3.2
Win 8.1
Win 8.1
-
Dude
- 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
Salut,
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.
Comme d'habitude, fournis donc le classeur en question.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!
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
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
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
Win 8.1
-
Dude
- 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
Réalisation à l'aide d'un commentaire relié à la cellule affichant la valeur :
Une macro connectée à l'évènement de feuille "Contenu modifié" assure l'affichage de l'image :
Le nom des images est récupérable en analysant l'archive ODS.
Elles sont stockées dans le répertoire Pictures
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 SubElles sont stockées dans le répertoire Pictures
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
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.
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
Win 8.1
-
Dude
- 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
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 :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
J'en pense que le temps est précieux... surtout le mien.Julie_ALEC a écrit :Dis moi ce que tu en penses.
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).