Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion: Attribuer une couleur à un onglet avec une macro [LibreOffice][Tableur]

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    mai 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Santé

    Informations forums :
    Inscription : mai 2019
    Messages : 7
    Points : 7
    Points
    7

    Par défaut Attribuer une couleur à un onglet avec une macro

    Bonjour à toutes et à tous,
    Je suis nouveau sur le forum et je vais m'efforcer de respecter les règles.
    Je travaille en environnement Windows 7 Pro, Windows 10 Pro et MacOs High Sierra.
    J'utilise les versions LibreOffice 5.3.7.2 (x64) jusqu'à la toute dernière.
    J'ai créé diverses macros afin d'interagir sur un classeur. Jusque là, je n'ai pas rencontré de grosses difficultés grâce aux solutions que j'ai trouvé sur les forums de developpez.net. Un grand merci à toutes et à tous.

    Toutefois, il y a une action que je n'arrive pas à automatiser !
    Il s'agit d'attribuer une couleur à un onglet. Je précise que cette onglet est la feuille active au moment où je souhaite réaliser cette opération.
    J'ai utilisé l'enregistreur de macro afin d'avoir une ébauche de code que je souhaitais adapter ensuite mais le résultat n'est pas satisfaisant. L'onglet reste avec sa couleur par défaut.
    Ci-dessous le code... que je ne comprend pas bien je l'avoue !

    Si vous avez une explication, une solution à me soumettre, je suis bien entendu preneur.
    Par avance, un grand merci à toutes celles et ceux qui pourront me faire avancer.

    Fanolito.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    sub MiseEnFormeOnglet
     
    rem ----------------------------------------------------------------------
    rem define variables
    dim document   as object
    dim dispatcher as object
    rem ----------------------------------------------------------------------
    rem get access to the document
    document   = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
    rem ----------------------------------------------------------------------
    dim args1(0) as new com.sun.star.beans.PropertyValue
    args1(0).Name = "Nr"
    args1(0).Value = 37
     
    dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())
     
    rem ----------------------------------------------------------------------
    dim args2(0) as new com.sun.star.beans.PropertyValue
    args2(0).Name = "TabBgColor"
    args2(0).Value = -1
     
    dispatcher.executeDispatch(document, ".uno:SetTabBgColor", "", 0, args2())
     
    end sub

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    septembre 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : septembre 2009
    Messages : 84
    Points : 112
    Points
    112

    Par défaut

    Bonjour,
    Tout simplement comme cela.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Main
    Dim oFeuille As Object 
    'Je désigne la feuille active
    oFeuille = ThisComponent.getCurrentController().getActiveSheet()
    'Et je lui donne la couleur de l'onglet.
    oFeuille.TAbColor = RGB(102, 0, 255)
    End Sub
    Cordialement
    Libre Office Version: 6.0.1.1 (x64)
    Windows 10

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    mai 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Santé

    Informations forums :
    Inscription : mai 2019
    Messages : 7
    Points : 7
    Points
    7

    Par défaut

    Bonjour Mobydick_62,
    Un grand merci à toi.
    Effectivement, c'est tout simple.
    Encore merci.
    Bien sincèrement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Google Sheets] Attribuer une macro à une seule feuille
    Par Karlemagne dans le forum APIs Google
    Réponses: 1
    Dernier message: 22/07/2018, 11h27
  2. [XL-2016] Attribuer une macro à un seul classeur
    Par Prestone dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/02/2018, 10h31
  3. Attribuer une macro a un controle par vba
    Par kalocou dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 18/02/2017, 10h51
  4. Attribuer à une macro la valeur "\"
    Par fanf22 dans le forum C
    Réponses: 4
    Dernier message: 27/07/2016, 11h46
  5. [XL-2007] Assigner une icone dans le ruban personnalisé de'excel et lui attribuer une macro VBA
    Par Romanuche dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/07/2009, 10h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo