Paramétrer un "SpinButton"

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Re : Paramétrer un "SpinButton"

Bonjour Magic Doctor,

Juste une remarque pour commencer.

Dans ta macro ChronologieCouleurs tu as écrit :

Code:
coul = cel.Interior.Color
If coul <> xlNone Then d(coul) = coul
xlNone ne va pas avec la propriété Color, elle fonctionne avec ColorIndex...

Je te conseille de tester avec des cellules non colorées...

A+
 
Re : Paramétrer un "SpinButton"

Bonjour job,

Et bien si au lieu de "coul = cel.Interior.Color" je mets "coul = cel.Interior.ColorIndex", en tout cas sur ma feuille, c'est la grande panique.
Évidemment je me suis inspiré de ta fonction"NBCOUL" avec, toujours pour moi, le pas très clair "Scripting.Dictionary" aux possibilités étonnantes.
Ci-joint une "photo" de la grande panique.

A+
 

Pièces jointes

  • Panique !!.jpg
    Panique !!.jpg
    44.9 KB · Affichages: 109
Re : Paramétrer un "SpinButton"

Re,

Pour ton problème j'ai juste ajouté ce code dans la macro SelectionChange :

Code:
On Error Resume Next 'si le tableau memgogo n'existe pas
For i = 1 To [gogo].Count
  If [gogo].Cells(i) <> memgogo(i) Then SpinButton1 = 1
Next
memgogo = Application.Transpose([gogo])
La variable memgogo est déclarée en haut de la feuille de code pour être mémorisée.

Fichier modifié.

Edit : on pourrait aussi mémoriser dans un nom défini, mais ça paraît bien superflu ici.

A+
 

Pièces jointes

Dernière édition:
Re : Paramétrer un "SpinButton"

Re,

Pour terminer, tu peux utiliser la propriété Color et écrire dans ChronologieCouleurs :

Code:
coul = cel.Interior.Color
If coul <> 16777215 Then d(coul) = coul
Tu peux aussi remplacer Color partout par ColorIndex, ça marche sans aucune panique...

A+
 
Re : Paramétrer un "SpinButton"

Re,

Ce qui se passe c'est que "pas de couleur" est en fait une couleur ou, disons, une "nuance".
Dans la plage "zaza" on analyse toutes les couleurs différentes en y incluant l'absence de couleur qui est en fait une possibilité de couleur même si ce n'est pas une couleur stricto sensus. J'ai négligé les daltoniens même si certains me repprocheront de ne pas avoir été poliquement correct... C'est dans l'air du temps...
En tout cas ta solution est néanmoins intéressante si l'on ne veut analyser que de véritables couleurs (celles qui sont dans la palette des couleurs).

Mais, please..., comment fait-on pour paramétrer ce maudit spinbuttonmachin ?
 
Re : Paramétrer un "SpinButton"

Re,

Si tu veux compter la couleur "sans couleur" tu enlèves le If...Then :

Code:
coul = cel.Interior.Color
d(coul) = coul
Quant au "paramétrage" du SpinButton, au post #4 j'ai répondu à ça :

Je voudrais qu'à chaque changement de couleur le "SpinButton" :

1/ soit automatiquement réinitialisé à la 1ère couleur

Edit : je n'avais pas vu le 2ème point, je vais regarder :

2/ que son seuil max ne dépasse pas le nombre de couleurs

A+
 
Dernière édition:
Re : Paramétrer un "SpinButton"

Re,

Fin de déjeûner, décalage horaire oblige...

Effectivement, je m'étais focalisé sur notre propos au sujet des couleurs et ne me suis pas rendu compte que tu avais solutionné la réinitialisation du "SpinButton". Merci d'avoir réglé le 1er problème de ce maudit bouton.

C'est quand même bizarre ces "SpinButton" et autres "ComboBox" qui, soi-disant, sont faciles de maniement et en fait sont de véritables prises de tête pour le vulgum pecus.

A+
 
Re : Paramétrer un "SpinButton"

Re,

Nos posts se sont croisés (mientras almorzaba no había reinicializado la página).

Ça a l'air de marcher impec.

Encore merci job y buen fin de tarde.

PS : au fait, pour la petite histoire, ici ils sont furieux car Sarko les menace de les exclure du club des "pays soi-disant biens" pour blanchiment d'argent (via, essentiellement, la construction immobilière). Le pire c'est qu'il a raison ! Ils sont en train de tout détruire au nom du promoteur et du "après moi le déluge" !! Nice, La Baule... à côté ce fut de la gnognotte.
 
Re : Paramétrer un "SpinButton"

Bonsoir,

Le problème tel qu'il était présenté au départ a parfaitement été réglé par job75.
Le paramétrage du "SpinButton" se faisait dans le module de la feuille dans la section : Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Mais, pour des raisons techniques, ce paramétrage devra se faire dans une procédure d'un module standard. Je m'explique :
Si une valeur est supérieure à un certain seuil, apparaît à l'écran le "SpinButton", dans le cas contraire le "SpinButton" disparaît. Jusqu'à présent tout marche correctement. Seulement voilà, quand le "SpinButton" apparaît, je veux qu'il soit paramétré de telle sorte que :
1/ par défaut il soit en position 1,
2/ SpinButton1.Max soit égal à une certaine valeur (car si on va au-delà de cette valeur --> gros plantage)

J'ai tout bêtement repris la routine de job en écrivant dans la macro du module standard :
With ActiveSheet
.Shapes("SpinButton1").Visible = IIf(nbcoul = 1, False, True) 'Ça marche
'Paramétrage du "SpinButton"
SpinButton1.Max = Application.Count([ColonnesCouleursLignes])/3 'Ça ne marche pas du tout
End With

Je pense qu'il faut que je déclare mieux où se trouve exactement dans le classeur ce "SpinButton" (je rappelle que nous ne sommes plus dans le module de la feuille), mais là, j'avoue, je me mélange les pinceaux.

Merci pour m'aider avec ce "SpinButton".
 
Re : Paramétrer un "SpinButton"

Bonsoir Magic Doctor,

Ecris ceci :

Code:
With ActiveSheet.SpinButton1
  .Visible = nbcoul <> 1
  .Max = Application.Count([ColonnesCouleursLignes]) / 3
End With
Edit : j'espère que tu sais que Application.Count compte les valeurs numériques de la plage...

A+
 
Dernière édition:
Re : Paramétrer un "SpinButton"

Bonsoir job 75,

Juste avant de réinicialiser la feuille et de te lire, avec l'aide (F1) j'ai dégoté ça :
With ActiveSheet
.Shapes("SpinButton1").Visible = IIf(nbcoul = 1, False, True)
.OLEObjects("SpinButton1").Object.Max = Application.Count([ColonnesCouleursLignes]) / 3End With

Et, ô stupeur, ça marche.
J'ai essayé ta solution qui marche elle aussi très bien.
Dernier problème à régler (que tu avais solutionné mais à partir du module de la feuille), celui de remettre le "SpinButton" à sa valeur minimale (en l'occurrence 1) chaque fois qu'il réapparaît à l'écran. Sinon c'est un peu la galère, il faut cliquer plusieurs fois avant que quelque chose se passe et c'est normal, ayant gardé en mémoire sa dernière valeur.

Mais je vais garder ta solution, plus concise.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
201
  • Question Question
XL 2021 Macro
Réponses
6
Affichages
316
Réponses
0
Affichages
433
Réponses
12
Affichages
452
Retour