Macro pour créer des databars

Hello,

j'aimerais construire une macro qui, lorsque je clique sur un bouton "Databars", m'affiche les databars des données de mon tableau (voir pièce jointe - barre verte ou rouge indiquant une hausse ou une baisse de l'évolution de la donnée) en fonction de mon tableau avec les données entrées.

La colonne "vs prior year" indique la différence entre l'année N et l'année N-1.

Merci d'avance

capture d ecran 2019 02 05 a 17 51 40 capture d ecran 2019 02 05 a 17 52 23 capture d ecran 2019 02 05 a 17 52 32

Bonjour,

Un exemple dans le fichier joint.

La procédure est commentée pour une meilleure compréhension.

Cdlt.

14juliak-databar.xlsm (20.03 Ko)
snip 20190206084539
Public Sub Create_Databar()
Dim lo As ListObject, rng As Range, cfDatabar As Databar
    With ActiveSheet
        Set lo = .ListObjects(1)
        Set rng = lo.ListColumns(3).DataBodyRange
    End With
    With rng
        .FormatConditions.Delete
        Set cfDatabar = .FormatConditions.AddDatabar
    End With
    With cfDatabar
        .ShowValue = False
        .BarFillType = xlDataBarFillSolid
        .AxisPosition = xlDataBarAxisAutomatic
        .BarColor.Color = 13012579
        .NegativeBarFormat.ColorType = xlDataBarColor
        .NegativeBarFormat.Color.Color = 255
        .AxisColor.Color = 0
    End With
End Sub

Bonjour,

merci beaucoup pour ta réponse

Cependant, j'ai une petite question: de quelle manière définit-on les données du fichier à transformer en databar? (en l'occurence dans votre doc les cellules D5:D7)

Donne t-on un nom à la plage de cellules en question?

    With ActiveSheet
        Set lo = .ListObjects(1)    'T_donnees Feuil1
        Set rng = lo.ListColumns(3).DataBodyRange

Bonjour,

Un complément d'informations :

Set lo = .ListObjects("T_Données")  'était (1) car tableau unique dans la feuille
        'on determine la plage de valeurs pour la mise en forme conditionnelle.
        '(soit les valeurs de la colonne3 sans l'en-tête)
        Set rng = lo.ListColumns("Colonne3").DataBodyRange

Est-ce plus clair ?

Cdlt.

D'accord, et si on a plusieurs table de données dans la feuille?

Est-ce possible d'executer la macro lors de la selection des cellules que l'on veut avoir sous forme de databar?

Avec "Range = Selection" par exemple?

Merci d'avance

Re,

Tu dois être plus précis dans ta demande. On peut faire beaucoup de choses, mais il faut être précis.

Les tableaux sont-ils de mêmes dimensions, parle-t'on des mêmes numéros de colonne (ou en-têtes) ?

Une procédure qui bouclerait sur l'ensemble des tableaux est-elle envisageable ?

Ne peux-tu pas joindre un fichier de base ?

A te relire.

Cdlt.

Re,

ci-joint le fichier test.

Je cherche donc avec le bouton "Creation of databars" à créer les databars des cellules que je sélectionne du tableau de mon choix.

Par exemple, si je sélectionne les cellules O14 à O16 et que je clique sur le bouton "Creation of databars", s'effectue la macro de création des databars

J'espère que j'étais plus claire

Merci

Re,

Ton fichier n'est pas joint.

Cdlt.

oups, voici

8test.xlsm (24.03 Ko)

Re,

Ton fichier retour de ce que j'ai compris.

Sélectionne les données et lance la procédure pour créer le graphique.

A te relire.

Cdlt.

16test.xlsm (27.54 Ko)

Re,

Merci beaucoup c'est super, je vais me pencher sur le code et essayer de la comprendre et de la réécrire, merci pour ton aide!

Re,

Reviens quand tu veux !...

Mais soit précis dans tes questions, car c'était un peu confus.

Bonne journée.

Thanks!!

C'est un peu confus surement parce que je ne suis pas experte en vba

Bonne journée également

Rechercher des sujets similaires à "macro creer databars"