SpinButton & dégradé cellule

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

Pour m'amuser visuellement, je voudrais réaliser un dégradé de cellule en fonction d'une valeur renvoyée par un SpinButton.
Le SpinButton permet de moduler le nombre de décimales après la virgule : de 2 à 5.
Pour 2 --> cellule jaune
[3 ; 4] --> cellule verte
5 --> cellule ocre

J'ai tenté via la MEFC, mais n'y suis pas parvenu. Un truc a dû encore m'échapper.

Merci pour tout conseil.
 

Pièces jointes

  • Dégradé.xlsm
    33.5 KB · Affichages: 37

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Bonjour,

Pour m'amuser visuellement, je voudrais réaliser un dégradé de cellule en fonction d'une valeur renvoyée par un SpinButton.
Le SpinButton permet de moduler le nombre de décimales après la virgule : de 2 à 5.
Pour 2 --> cellule jaune
[3 ; 4] --> cellule verte
5 --> cellule ocre

J'ai tenté via la MEFC, mais n'y suis pas parvenu. Un truc a dû encore m'échapper.

Merci pour tout conseil.
les MEFC dégradées ne s'applique qu'au contenu de la cellule
il faut passer par une MEFC formule
upload_2018-2-15_18-25-33.png

attention à limiter les propriétés Max et min du SpinButton
 

Magic_Doctor

XLDnaute Barbatruc
Re,

Un bref aperçu sur cette nouvelle mouture.
Je vois essentiellement des conneries dont je me tape allègrement "la pansa en la pampa" :
- Installer sur plusieurs appareils : je n'ai qu'un appareil
- Accédez à vos documents où que vous soyez : j'utilise Excel uniquement chez moi. Ailleur, j'ai autre chose à faire...
- Toujours actualisé : je m'en fous !

Il ne manque plus que l'option Facebook pour les narcissiques des vacances au rabais.

En revanche, es-tu certain que le problème (uniquement pour le fun visuel, donc pas vraiment important d'un point de vue existentiel) que j'expose sur ce fil puisse se régler en un tournemain avec cette dernière version ?

Ce n'est pas une question d'argent. Du reste ici, tous les logiciels sont gratos !

Pour la petite histoire (tu pourras la vérifier si tu doutes), l'administration uruguayenne dans son intégralité n'avait que des logiciels Microsoft piratés. Je suis d'accord, ils sont un peu cons. Forcément, ils se sont fait gauler. Soit ils payaient une amende à faire peur, soit ils s'engageaient à n'utiliser que des logiciels Microsoft (cette fois-ci payants) ad vitam æternam, sans possibilité d'utiliser du Linux ou autres MacZinzin.
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

[avis personnel]
Je disais juste que ce que tu fais pour Windows , tu peux le faire pour Excel, non ?
Ton PC ne tourne plus sur W98SE, non ?
Ton browser n'est pas Netscape ;)

2007-2018 =11 ans

A partir de quand estimes-tu qu'il est temps d'upgrader un logiciel?

NB: Ce n'est pas parce qu'il existe des logiciels piratés, qu'il faille les utiliser.
C'est une question de choix et d'éthique ;)

Personnellement je paye ma suite Office et pour le reste j'utilise le maximum d'outils issues du libre.

Et je serais passer depuis longtemps à Libre Office si je maîtrisais autant son langage de programmation que le VBA.
[/avis personnel]
 

Magic_Doctor

XLDnaute Barbatruc
Re,

Sous mes latitudes, on relativise.
J'ai toujours un c-portable qui fonctionne toujours.
Ce qui m'intéresse dans Excel, c'est essentiellement, avec la précieuse aide incontournable de ce forum, bidouiller des trucs en VBA pour des problèmes de dilutions. Très pratique quand on est au cul du loup et que l'on doit réaliser extemporanément des produits sur sa paillasse.
Je sais, le piratage c'est pas bien, même si j'ai déjà payé à maintes reprises la Suite Office. Ici on te l'installe d'office gratos, alors pourquoi s'en priver ? Mais entre nous, s'il y a bien une entreprise qui s'est bien gavé, c'est Microsoft. Et certains éléments de cette prestigieuse compagnie se sont même associés avec d'autres, qui se sont aussi bien gavés dans divers domaines, pour créer une prestigieuse association altruiste et richissime exemptée d'impôts. Putain, qu'est-ce qu'ils sont malins ! Et tout le monde applaudit... Bref, qui est le moins éthique dans tout ça ?

Mon copain Kasem (un Syrien qui s'est installé en Uruguay après avoir connu sa femme uruguayenne à Kiev où ils faisaient des études d'ingénieur), qui a une minuscule boutique d'informatique à Montevideo, m'avait installé une version plus récente d'Excel. Je ne te dis pas le bordel par la suite avec certaines macros contenant des APIS. Je suis donc revenu à la version précédente. Depuis, j'ai appris sur le forum que pour éviter ces problèmes il faut l'installer en 32 Bits et non en 64 Bits. Un de ces jours je lui demanderai de me réinstaller une version plus récente.

C'est vrai que 11 ans ça fait un bail !
Como el tiempo pasa...
Et pour mettre un peu d'alegría en la discusión, una linda canción de la maravillosa Mercedes Sosa acerca de este maldito tiempo que transcurre cada vez más rápido.
 

Staple1600

XLDnaute Barbatruc
Re


[reavis personnel]
Ce qui vaut pour Microsoft, vaut pour les GAFA, l'agro-alimentaire, la pétro-chimie, le monde du médicament, la banque etc...
Le point commun de toutes ces entités: l'être humain
Nous sommes donc les seuls à blâmer:"bourreaux" comme victimes.

Merdia, j'ai du boire une bière frelatée hier soir, me v'la en train de philosopher de l'alter-monde vs le Capital, un samedi matin dans mon pyjama en pilou!
Robert, remets nous sa petite sœur et sors les cahuètes. ;)
[/reavis personnel]

[dernière station avant l'autoroute]
Pourquoi se priver des logiciels piratés?
1) parce que souvent sont tout plein de malware, trojan etc...

Pour ce qui me concerne
2) parce que j'aime bien soutenir les développeurs
(donc je payais les licences de mes sharewares-> aujourd'hui je scrute plus le monde du libre et open-source)
3) parce que je suis "oldschool" et que j'aime bien avoir un support physique (donc j'achète encore des CD et des vinyles)
Même si c'est de plus en plus difficile d'avoir un Office ou un Windows en boite)
[/dernière station avant l'autoroute]
 
Dernière édition:

roro69

XLDnaute Impliqué
Bonjour a essayer ce code avec les spin button DANS L'excellent fichier de phlaurent
VB:
Private Sub SpinButton1_SpinDown()
Dim objColorStop As ColorStop
Dim x As Byte
    Application.ScreenUpdating = False
    x = x + SpinButton1.Value
    If x < 2 Then x = 2: SpinButton1.Value = x
    [Volume2].NumberFormat = MEFDecApVirg([Volume1], SpinButton1.Value, True, True, " Zorro")
    '[P20] = Round([VolPhénol3], SpinButton1.Value)
    [E3] = SpinButton1.Value
  
Select Case [E3]
    Case Is = 2
'créer le dégrader
    Range("C3").Interior.Pattern = xlPatternLinearGradient
'orientation
    Range("C3").Interior.Gradient.Degree = 90
'efface la couleur précédente
     Range("C3").Interior.Gradient.ColorStops.Clear
        Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(0)
        objColorStop.Color = vbBlack
        Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(0.33)
        objColorStop.Color = vbRed
        Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(0.66)
        objColorStop.Color = vbGreen
        Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(1)
        objColorStop.Color = vbBlue
    SpinButton1.ForeColor = 65535
    Case Is = 5
      Range("C3").Interior.Pattern = xlPatternLinearGradient
      Range("C3").Interior.Gradient.Degree = 90
      Range("C3").Interior.Gradient.ColorStops.Clear
         Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(0)
         objColorStop.Color = vbYellow
         Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(0.33)
         objColorStop.Color = vbRed
         Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(0.66)
         objColorStop.Color = vbGreen
         Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(1)
         objColorStop.Color = vbBlue
    SpinButton1.ForeColor = 3049718
    Case Else
      Range("C3").Interior.Pattern = xlPatternLinearGradient
      Range("C3").Interior.Gradient.Degree = 90
      Range("C3").Interior.Gradient.ColorStops.Clear
         Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(0)
         objColorStop.Color = vbYellow
         Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(0.33)
         objColorStop.Color = vbRed
         Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(0.66)
         objColorStop.Color = vbGreen
         Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(1)
         objColorStop.Color = vbBlue
    SpinButton1.ForeColor = RGB(0, 255, 0)
    End Select
  
    [CR50].Select: Application.ScreenUpdating = True
End Sub
Private Sub SpinButton1_SpinUp()
Dim x As Byte
    Dim objColorStop As ColorStop
Dim lngColor1 As Long
    Application.ScreenUpdating = False
    x = x + SpinButton1.Value
    If x > 5 Then x = 5: SpinButton1.Value = x
    [Volume2].NumberFormat = MEFDecApVirg([Volume1], SpinButton1.Value, True, True, " Zorro")
    '[P20] = Round([VolPhénol3], SpinButton1.Value)
    [E3] = SpinButton1.Value
  
    Select Case [E3]
    Case Is = 2
'créer le dégrader
    Range("C3").Interior.Pattern = xlPatternLinearGradient
'orientation
    Range("C3").Interior.Gradient.Degree = 90
'efface la couleur précédente
     Range("C3").Interior.Gradient.ColorStops.Clear
        Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(0)
        objColorStop.Color = vbBlack
        Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(0.33)
        objColorStop.Color = vbRed
        Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(0.66)
        objColorStop.Color = vbGreen
        Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(1)
        objColorStop.Color = vbBlue
    SpinButton1.ForeColor = 65535
    Case Is = 5
      Range("C3").Interior.Pattern = xlPatternLinearGradient
      Range("C3").Interior.Gradient.Degree = 90
      Range("C3").Interior.Gradient.ColorStops.Clear
         Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(0)
         objColorStop.Color = vbYellow
         Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(0.33)
         objColorStop.Color = vbRed
         Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(0.66)
         objColorStop.Color = vbGreen
         Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(1)
         objColorStop.Color = vbBlue
    SpinButton1.ForeColor = 3049718
    Case Else
      Range("C3").Interior.Pattern = xlPatternLinearGradient
      Range("C3").Interior.Gradient.Degree = 90
      Range("C3").Interior.Gradient.ColorStops.Clear
         Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(0)
         objColorStop.Color = vbYellow
         Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(0.33)
         objColorStop.Color = vbRed
         Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(0.66)
         objColorStop.Color = vbGreen
         Set objColorStop = Range("C3").Interior.Gradient.ColorStops.Add(1)
         objColorStop.Color = vbBlue
    SpinButton1.ForeColor = RGB(0, 255, 0)
    End Select
  
    [CR50].Select: Application.ScreenUpdating = True
End Sub

Bien sur changer les couleur du dégrader suivant ce que l'on souhaite
A++
 
Dernière édition:

Si...

XLDnaute Barbatruc
Bon_jour

Pour aller un peu plus loin que Geedee qui suggère «attention à limiter les propriétés Max et min du SpinButton» …

Je regrette de voir rarement, sinon jamais, la proposition ''avoir sous les yeux la fenêtre des propriétés (F4) permet de simplifier grandement des programmations (comme dans l'exemple joint)".

upload_2018-2-17_13-24-13.png


Accessoirement, je joins une nouvelle illusion d'optique.
 

Pièces jointes

  • Fonction amnésique.xlsm
    27.1 KB · Affichages: 40
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Je regrette de voir rarement, sinon jamais, la proposition ''avoir sous les yeux la fenêtre des propriétés (F4) permet de simplifier grandement des programmations (comme dans l'exemple joint)"..
je ne peux qu'approuver cette suggestion...:rolleyes::rolleyes:

autre méthode :
deux objets de couleur différentes dont on fait varier la transparence de l'un en fonction du pourcentage obtenu via le spinbutton.
upload_2018-2-17_18-25-43.png
 

Pièces jointes

  • Fonction amnésique.xlsm
    30.5 KB · Affichages: 93

Discussions similaires

Statistiques des forums

Discussions
312 113
Messages
2 085 426
Membres
102 888
dernier inscrit
medoit