[Résolu] [Calc] effacement couleurs cellules sélectionnées

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 !
Gustav9999
Fraîchement OOthentifié
Messages : 5
Inscription : 28 avr. 2021 15:37

[Résolu] [Calc] effacement couleurs cellules sélectionnées

Message par Gustav9999 »


La modération vous a écrit: Balise [Calc] ajoutée suite à déplacement du sujet et titre raccourci.
Pour faciliter la lecture, code mis entre balises [ code] par le modérateur.

Bonjour, je suis nouveau sur le forum et je vous l'avoue, je suis totalement novice en matière de programmation.
J'ai construit une petite feuille de calcul qui me permet de déterminer mois après mois les jours de travail de mes collègues et moi-même en sachant que le nombre de lignes de ce tableau est susceptible de changer à la hausse ou à la baisse.
Je souhaitais parfaire ma feuille de calcul en y ajoutant un bouton "effacer" qui remettrait à zéro les données du tableau par sélection des données suivi d'un clic à la souris sur le bouton afin d'exécuter l'action.
A l'aide d'une formule que j'ai découverte sur un sujet aujourd'hui verrouillé de ce forum, j'y suis parvenu partiellement.
En effet, la feuille de calcul comporte à la fois du contenu, des annotations et des couleurs d'arrière plan.
De surcroît, la zone à effacer est susceptible d'évoluer à la hausse ou à la baisse en fonction du nombre de collègues présents.
Je parviens à effacer le contenu et les annotations de la zone sélectionnée manuellement à la souris mais pas les couleurs de l'arrière plan.
Toutefois, lorsque j'y parviens cela se fait au prix d'un formatage total des cellules que je souhaiterais éviter. (hardattr)
Je souhaiterais simplement compléter la formule en y a joutant une instruction qui efface également mais seulement les couleurs de l'arrière plan des cellules sélectionnées si cela est possible bien entendu.
Pouvez vous m'aider à compléter la macro s'il vous plait ?
En vous remerciant par avance,
Gustav9999 :mrgreen:

Code : Tout sélectionner

Sub EffaceSelection
sel = ThisComponent.CurrentSelection
sel.clearcontents(com.sun.star.sheet.CellFlags.STRING +_
   com.sun.star.sheet.CellFlags.VALUE +_
   com.sun.star.sheet.CellFlags.DATETIME +_
   com.sun.star.sheet.CellFlags.FORMULA)
End Sub
Dernière modification par micmac le 28 avr. 2021 22:05, modifié 1 fois.
Raison : Balisage
libre office 7.0.3.1 x64, win 10 pro
Avatar de l’utilisateur
tintin
GourOOu
GourOOu
Messages : 9343
Inscription : 18 juil. 2008 17:29
Localisation : F-Oise + F-Savoie

Re: [Calc] effacement couleurs cellules sélectionnées

Message par tintin »

Bonjour et bienvenue,
[b][color=#404080]Gustav9999[/color][/b] a écrit :une formule que j'ai découverte sur un sujet aujourd'hui verrouillé de ce forum
Vous devriez donner le lien qui nous y mène.

En plus du code, fournissez SVP votre fichier ou un extrait débarrassé des éléments confidentiels.
Comment joindre un fichier.
AOO 4.1.15 et LibO stable 7.6.6 / macOS Intel 13.6.6 Ventura
Adoptium-temurinJDK-jre_1.8.0_402 / Firefox/Safari/Thunderbird /Time Machine+cloneCCC
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles
Gustav9999
Fraîchement OOthentifié
Messages : 5
Inscription : 28 avr. 2021 15:37

Re: [Calc] effacement couleurs cellules sélectionnées

Message par Gustav9999 »

libre office 7.0.3.1 x64, win 10 pro
Gustav9999
Fraîchement OOthentifié
Messages : 5
Inscription : 28 avr. 2021 15:37

Re: [Calc] effacement couleurs cellules sélectionnées

Message par Gustav9999 »

et voici le fichier anonymisé et réduit à un seul mois.
Merci par avance pour l'aide que vous pourrez m'apporter.
:D
Pièces jointes
feuille.ods
feuille de juin
(29.47 Kio) Téléchargé 70 fois
libre office 7.0.3.1 x64, win 10 pro
Avatar de l’utilisateur
Noonours
PassiOOnné
PassiOOnné
Messages : 501
Inscription : 11 mai 2013 02:11
Localisation : Aix en Provence

Re: [Calc] effacement couleurs cellules sélectionnées

Message par Noonours »

Bonjour
Pourquoi ne pas rajouter (après la kyrielle de constantes dans ton instruction ClearContents) la ligne de script suivante:

Code : Tout sélectionner

sel.CellBackColor = -1

qui remet à sa valeur par défaut la couleur d'arrière-plan de ta sélection.

Ca donnerait ça:

Code : Tout sélectionner

Sub EffaceSelection
sel = ThisComponent.CurrentSelection
With com.sun.star.sheet.CellFlags 'ça allège un peu le code pour une meilleure lisibilité
sel.clearcontents(.STRING + .VALUE + .DATETIME + .ANNOTATION + .FORMULA)
End With
sel.CellBackColor = -1
End Sub
Cordialement,
Dernière modification par Noonours le 28 avr. 2021 23:43, modifié 1 fois.
Noonours procrastinateur perfectionniste: "Je fais rien, mais demain je l'ferai mieux"

Pour obtenir la réponse la plus précise possible, VEUILLEZ JOINDRE UN FICHIER

LibO 7.6.5.2 Stable et OpenOffice 4.1.15 sous Windows 10
Gustav9999
Fraîchement OOthentifié
Messages : 5
Inscription : 28 avr. 2021 15:37

Re: [Calc] effacement couleurs cellules sélectionnées

Message par Gustav9999 »

Merci beaucoup c'est ce que je voulais obtenir, vous êtes géniaux.
A bientôt
Gustav :D :bravo:
libre office 7.0.3.1 x64, win 10 pro
Gustav9999
Fraîchement OOthentifié
Messages : 5
Inscription : 28 avr. 2021 15:37

Re: [Résolu] [Calc] effacement couleurs cellules sélectionné

Message par Gustav9999 »

Merci d'avoir ajouté la mention [Résolu], en effet je n'y avais pas songé.
libre office 7.0.3.1 x64, win 10 pro
Verrouillé