XL 2016 Modifier la taille de points en fonction d'une valeur

Le novice

XLDnaute Junior
bonjour à tous
j'exploite une ligne de bus et j'aimerai rendre dynamique les flux de fréquentation de ma ligne.
en effet chaque station est matérialisée par un point, en fonction du Pourcentage du nb d'entrées il faudrait que la valeur du Pourcentage soit représentée par un grossissement ou rétrécissement des points rouge j'aimerai en faire de même avec les sorties avec des points orange. bien entendu il faudrait pouvoir sélectionner l'une ou l'autre représentation à l'aide de bouton case option.
je compte sur votre aide pour avancer n'étant pas moi même un as de VBA et excel.

cordialement
 

Pièces jointes

  • FREQUENTATION.xlsm
    22 KB · Affichages: 12
Solution
re
ben la meme couleur que les font des colonnes concernées
VB:
Sub Casdoption1_Clic()
    With ActiveSheet
         For i = 4 To 22
            Set station = .Shapes("station" & .Cells(i, "M"))
            station.Width = (.Cells(i, "O") * 100) + 3
            station.Fill.ForeColor.RGB = .Cells(i, "O").Font.Color
        Next
    End With

End Sub
Sub Casdoption2_Clic()
    With ActiveSheet
          For i = 4 To 22
            Set station = .Shapes("station" & .Cells(i, "M"))
            station.Width = (.Cells(i, "Q") * 100) + 3
            station.Fill.ForeColor.RGB = .Cells(i, "Q").Font.Color
        Next
    End With

End Sub

comme ça tu rouge ou orange ;)

Nairolf

XLDnaute Accro
Salut didi1,

Voici une proposition via code vba en activant les boutons.

A noter que j'ai modifié le nom des formes afin de faire mon contrôle pour mise à dimension.
 

Pièces jointes

  • FREQUENTATION_Nairolf.xlsm
    28.5 KB · Affichages: 6

patricktoulon

XLDnaute Barbatruc
bonjour
c'est cela que tu veux ?
demo3.gif


si c'est ca
j'ai renommé tes ronds en "station1,station2,etc....
et tes deux optionbuttons tu leur affecte leur macro respectives
VB:
Sub Casdoption1_Clic()
    With ActiveSheet
         For i = 4 To 22
            Set station = .Shapes("station" & .Cells(i, "M"))
            station.Width = (.Cells(i, "O") * 100) + 3
            station.Fill.ForeColor.RGB = vbRed
        Next
    End With

End Sub
Sub Casdoption2_Clic()
    With ActiveSheet
        For i = 4 To 22
            Set station = .Shapes("station" & .Cells(i, "M"))
            station.Width = (.Cells(i, "Q") * 100) + 3
            station.Fill.ForeColor.RGB = vbYellow
        Next
    End With

End Sub
 

Le novice

XLDnaute Junior
je vous remercie grandement je fais un sacré pas en avant grâce à votre aide mais surtout un gain de temps. Afin d’améliorer le produit est il possible d'avoir des formes de couleur rouge quand il s'agit des entrées et orange pour les sorties?
 

Le novice

XLDnaute Junior
bonjour
c'est cela que tu veux ?Regarde la pièce jointe 1057527

si c'est ca
j'ai renommé tes ronds en "station1,station2,etc....
et tes deux optionbuttons tu leur affecte leur macro respectives
VB:
Sub Casdoption1_Clic()
    With ActiveSheet
         For i = 4 To 22
            Set station = .Shapes("station" & .Cells(i, "M"))
            station.Width = (.Cells(i, "O") * 100) + 3
            station.Fill.ForeColor.RGB = vbRed
        Next
    End With

End Sub
Sub Casdoption2_Clic()
    With ActiveSheet
        For i = 4 To 22
            Set station = .Shapes("station" & .Cells(i, "M"))
            station.Width = (.Cells(i, "Q") * 100) + 3
            station.Fill.ForeColor.RGB = vbYellow
        Next
    End With

End Sub


parfait je vais tester et reviendrais vers vous merci bcp!!!
 

patricktoulon

XLDnaute Barbatruc
re
ben la meme couleur que les font des colonnes concernées
VB:
Sub Casdoption1_Clic()
    With ActiveSheet
         For i = 4 To 22
            Set station = .Shapes("station" & .Cells(i, "M"))
            station.Width = (.Cells(i, "O") * 100) + 3
            station.Fill.ForeColor.RGB = .Cells(i, "O").Font.Color
        Next
    End With

End Sub
Sub Casdoption2_Clic()
    With ActiveSheet
          For i = 4 To 22
            Set station = .Shapes("station" & .Cells(i, "M"))
            station.Width = (.Cells(i, "Q") * 100) + 3
            station.Fill.ForeColor.RGB = .Cells(i, "Q").Font.Color
        Next
    End With

End Sub

comme ça tu rouge ou orange ;)
 

Pièces jointes

  • FREQUENTATION v pat .xlsm
    27.5 KB · Affichages: 7

Paf

XLDnaute Barbatruc
Bonjour à tous,

un essai avec une seule macro à affecter aux deux cases d'option:
VB:
Sub didi1()

With Worksheets("Feuil2")

If Right(Application.Caller, 1) = 1 Then
    Col = 15:    Coul = 10
Else
    Col = 17:    Coul = 52
End If

For i = 4 To .Range("M" & Rows.Count).End(xlUp).Row - 1
    num = .Cells(i, 13).Value
    H = .Cells(i, Col).Value * 300
    With .Shapes("Ellipse " & num)
    .Fill.ForeColor.SchemeColor = Coul
    .Height = H
    End With
Next
End With
End Sub

A+

Edit : j'arrive juste ... trop tard !!
 

Le novice

XLDnaute Junior
merci à tous pour votre aide précieuse. j'ai pu adapter le code et mon tableau pour superposer mes stations à une carte et modifier aussi pour prendre en compte le 0% dans toute les cellules lorsqu'il n'y a pas de passagers.
j’espère compter sur vous de nouveau car je suis loin d'avoir fini mon projet
 

Discussions similaires

Statistiques des forums

Discussions
312 100
Messages
2 085 294
Membres
102 854
dernier inscrit
ADRIENVR