Mettre un graphique d'une barre

Bonjour a tous,

dans une colonne j'ai des chiffres, et je voudrais que, en fonction du chiffre avoir une "barre" (type graphique) qui augmente au fur et a mesure du chiffre.

Je veux juste la barre (sans l'axe des X et des Y), et apres, si c'est possible, je voudrais ecrire un chiffre au dessus de cette barre (qui correspond au chiffre de la colonne)

est ce possible ?

Je sais pas si je me suis fait bien comprendre.

ps: exactement ce que je voudrais faire c'est une carte de france dans une feuille et des chiffres dans une colonne dans une autre feuille, et en fonction du chiffre, ça fasse grossir la barre, par exemple, si j'ecris 99 devant la colonne "ile de france", je voudrais que la barre ile de france (sur la carte) grossisse aussi...

edit:

un chiffre qui grossit au fur et a mesure, ca serait aussi tres bien !

Bonsoir

A voir

oui, c'est pas mal, c'est pas encore exactement ce que je veux, mais c'est pas mal !

et pour faire une barre verticale ?!

bonjour a tous

une solution a la tulipe certainement perfectible ; j'ai mis un bouton pour tester

19mizouille.zip (4.03 Ko)

j'ai volontairement laissé les valeurs visibles

a+

oula, je n'ai pas tout compris a ton fichier excel, pourrais tu me l'expliquer stp ?

Bonjour

Une version verticale et horizontale

Merci beaucoup !

Crois tu que c'est possible de juste faire deux petites modifications ?

1) je voudrais que la barre progresse vers le haut (et pas vers le bas comme actuellement

2) quelle ligne dois je changer pour etre sur des valeurs plus petites ? actuellement mes chiffres oscillent entre 1 et 20, et sur la barre c'est difficile de voir la difference, peut etre que je dois diviser une valeur ?

merci bien !

Bonjour

Un essai avec quelques explications

Bonne journée

Ok, merci beaucoup, c'est ça que je voulais !

Je teste deux trois petites choses et je reviens si je veux develloper ce systeme.

Merci beaucoup !!

-- Sam Jan 15, 2011 3:55 pm --

Je reviens avec une petite question :

- Si je veux faire EN PLUS une autre barre en B40 par exemple, avec des resultats de la case A1, il faut que je change quelque chose ou que refasse tout ?

Bonsoir

A voir

Le plus compliqué c'est de déterminer la règle d'effacement

Si beaucoup de barres, il faudra voir pour le code (boucles ou autres)

Bonne soirée

ça a l'air de tres bien marché !

c'est quoi le code couleur pour les barres ? parceque j'ai essayé ça mais ça marche pas

(le numero de la ligne correspond normalement au code couleur)

-- Sam Jan 15, 2011 11:02 pm --

apparemment, il faut rajouter "+7"... je ne sais pas pourquoi ... mais ca marche !

13couleur-excel.zip (6.75 Ko)

Bonsoir

Je ne connais pas la relation entre couleur Excel et couleur graphique

A voir

EDIT: Tu as trouvé

il faut rajouter +7 pour schemecolor par rapport au code que je t'ai donné

J'ai bossé un peu sur le fichier aujourd'hui mais je le trouve instable, en effet, j'aimerais que vous me corrigiez:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Coef As Double

Dim Sh As Shape
  If Not Intersect(Range("A1,A2,A3,E10:E11"), Target) Is Nothing Then
    Coef = Range("E11")
    '
    ' Effacement des barres crées
    '
    For Each Sh In ActiveSheet.Shapes
      If Sh.Name Like "Rectangle *" Then
        If Sh.TopLeftCell.Column = Sh.BottomRightCell.Column Then  ' On efface les barres dont le Haut et le bas sont dans la même colonne
          Sh.Delete
        End If
      End If
    Next Sh
    '
    ' Refait les barres
    '
    If Range("A1") > 0 Then
      With Range("G10")
        ActiveSheet.Shapes.AddShape(msoShapeRectangle, .Left + (.Width / 2) - 10, _
                                                       .Top + .Height - (Range("A1") * Coef), _
                                                       20, _
                                                       Range("A1") * Coef).Fill.ForeColor.SchemeColor = 32
      End With
    End If
    If Range("E10") > 0 Then
      With Cells(10, "H")
        ActiveSheet.Shapes.AddShape(msoShapeRectangle, .Left + (.Width / 2) - 10, _
                                                       .Top + .Height - (Range("E10") * Coef), _
                                                       20, _
                                                       Range("E10") * Coef).Fill.ForeColor.SchemeColor = 32
      End With
    End If
     If Range("A2") > 0 Then
      With Range("I10")
        ActiveSheet.Shapes.AddShape(msoShapeRectangle, .Left + (.Width / 2) - 10, _
                                                       .Top + .Height - (Range("A2") * Coef), _
                                                       20, _
                                                       Range("A2") * Coef).Fill.ForeColor.SchemeColor = 32
      End With
    End If
    If Range("A3") > 0 Then
      With Range("F10")
        ActiveSheet.Shapes.AddShape(msoShapeRectangle, .Left + (.Width / 2) - 10, _
                                                       .Top + .Height - (Range("A3") * Coef), _
                                                       20, _
                                                       Range("A3") * Coef).Fill.ForeColor.SchemeColor = 8
      End With
    End If
  End If

End Sub

j'ai fait ça, donc si je comprend bien :

  • si je veux mettre une autre cellule en tant que coeff, je change la ou c'est écrit E11 par ma nouvelle case (rien d'autres a faire) ?
  • si je veux rajouter une barre, je dois premierement marque la case ici :

If Not Intersect(Range("A1,A2,A3,E10:E11"), Target) Is Nothing Then

puis je change ici lorsque je rajoute une barre :

 If Range("[color=#FF0000]A3[/color]") > 0 Then
      With Range("F10")
        ActiveSheet.Shapes.AddShape(msoShapeRectangle, .Left + (.Width / 2) - 10, _
                                                       .Top + .Height - (Range("[color=#FF0000]A3[/color]") * Coef), _
                                                       20, _
                                                       Range("[color=#FF0000]A3[/color]") * Coef).Fill.ForeColor.SchemeColor = 8
      End With
    End If

ou dois je faire autre chose ?

(je dis que c'est instable car toutes les barres ne changent pas de tailles en fonction de du coeff que je mets)

Bonsoir

Oui pour le coef c'est la cellule E11 (on pourrait pour simplifier utiliser une zone nommée)

Ensuite il y a le couple cellule de valeur et cellule ou sera la barre

Et j'ai essayé le programme pas de soucis particulier

A suivre

Donc pour le coeff, il suffit juste que je change dans cette ligne la le numero de cellule :

 If Not Intersect(Range("A1,A2,A3,E10:E11"), Target) Is Nothing Then
    Coef = Range("E11")

Si je veux que ça soit en B1:

 If Not Intersect(Range("A1,A2,A3,E10:B1"), Target) Is Nothing Then
    Coef = Range("B1")

c'est ça ?

et si aprés Range je veux mettre toute les cellules de A1 à A30 je l'écris comment ?

Bonsoir

Oui pour B1

La question c'est que tu veux avoir les valeurs de A1 à A30 ?

Si c'est cela

If Not Intersect(Range("A1:A30,E11"), Target) Is Nothing Then

Bonne nuit

ok, merci beaucoup,

en fait le probleme c'est que je croyais que les barres ne s'actualisaient pas toutes directement, et le probleme c'est qu'en fait les barres se "superposent" lorsque je change de coefficient..

Par exemple, je vais mettre un coefficient 4 puis si je veux voir ce que ça donne avec un coeff 10, la barre sera plus grande, et si par exemple, je retourne avec un coeff 5, j'ai l'impression que la barre ne s'actualisent pas car elle est "cachée" par la barre du coeff 10 .

je sais aps si tu as compris, mais il me faudrait une formule qui fait que les barres ne se superposent pas

merci bien !

Bonjour

En principe avant de redessiner les barres on effaces les barres existantes

Donc sans voir ton fichier (sans données confidentielles) très dur d'y répondre

    '
   ' Effacement des barres crées
   '
   For Each Sh In ActiveSheet.Shapes
      If Sh.Name Like "Rectangle *" Then
        If Sh.TopLeftCell.Column = Sh.BottomRightCell.Column Then  ' On efface les barres dont le Haut et le bas sont dans la même colonne
         Sh.Delete
        End If
      End If
    Next Sh

A te lire

Bonne journée

oui, mon fichier contient malheureseument bcp de données personnelles

Le code que tu m'as donné je le place ou ? (tu as le code entier trois posts au dessus)

Rechercher des sujets similaires à "mettre graphique barre"