XL 2010 Un SpinButton au comportement capricieux

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

Sur la feuille il y a un SpinButton qui doit être normalement masqué quand je clique sur un CommandButton (DD / DMS) qui se trouve sur la même feuille.

Quand le SpinButton est affiché et que je l’actionne, et qu’ensuite je clique sur le CommandButton, le SpinButton ne disparaît pas forcément. Pour qu’il disparaisse à tous les coups, il faudrait, juste après l’avoir actionné, cliquer sur n’importe quelle cellule de la feuille.

C’est bizarre. Comment y remédier ?
 

Pièces jointes

  • PB SpinButton.xlsm
    148.5 KB · Affichages: 15

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir @Magic_Doctor , el Forum

Moi ça fait un bail que je mets le moins possible d'ActiveX sur les feuilles, tôt ou tard ça "merdouille", même des simples CommandButtons changent de tailles sans aucune raison....

Donc pas vraiment étonné de ces phénomènes. Je pense qu'à un moment Microsoft a voulu basculer des Contrôles Forms aux ActiveX OLEObjects et puis ils ont eu d'autres priorités et c'est resté en l'état, pour les UserForms heureusement ça a été appronfondi et débugué, mais sur les Feuilles à mon avis c'est resté sur trois pattes... Alors en plus si tu joues à "cache-cache" avec ces ActiveX et des colonnes qui se masquent... Ca m'étonne encore moins...

Le Select de Cells pour "rendre" la main à la feuille Excel entre chaque action, est je ne crais ta seule option...

Bon courage
@+Thierry
 

Magic_Doctor

XLDnaute Barbatruc
Bonjour _Thierry, eriiiic,

Pas très optimiste tout ça, en plus concernant un problème de l'ordre de la broutille.
Mais je garde espoir, avant de changer de version d'Excel, puisque eriiiic, dans la version 2019, ne rencontre pas ce problème.
Ce qu'il y a de curieux, c'est que lorsque j'actionne le SpinButton, une fois sur deux (pourquoi ???), dans la barre des adresses (la petite immédiatement à gauche de celle des formules) s'affiche C2500. Quand le C2500 est affiché et que je clique sur le CommandButton, tout marche très bien. En revanche si rien n'apparaît dans la barre des adresses (une fois sur deux ; je répète : pourquoi ?) et que je clique sur le CommandButton, et bien là ça déconne.
VB:
Sub SpinBouton_DD(x As Byte)
'incrémentation ou décrémentation de la précision des degrés décimaux à partir du SpinButton "Spin_DD"
'- x : valeur du SpinButton "Spin_DD"

Application.ScreenUpdating = False

Dim chaine$, wf As WorksheetFunction

    Set wf = Application.WorksheetFunction
    chaine = "0." & wf.Rept(0, x) & "°"

    [Col_DD2].NumberFormat = chaine
   
[C2500].Select: Application.ScreenUpdating = True

End Sub
 

Magic_Doctor

XLDnaute Barbatruc
Bon, je pense avoir réglé le problème, mais c'est bizarre...
Dans le module de feuille :
VB:
Private Sub Spin_DD_GotFocus()
'Pour résoudre bordel incommensurable

    Application.ScreenUpdating = False
    [C2500].Select: Application.ScreenUpdating = True

End Sub
 

Pièces jointes

  • PB SpinButton.xlsm
    148.5 KB · Affichages: 3

Magic_Doctor

XLDnaute Barbatruc
Hummm... Ma foi, ça je l'avais bien compris. Pour preuve, relisez mon post#4. J'y précise bien, qu'après chaque action sur le SpinButton, la cellule C2500 est selectionnée. Et bien, qu'on le veuille ou non, la sélection de la cellule C2500 ne se fait qu'une fois sur deux. Alors, si quelqu'un pouvait m'expliquer pourquoi... Voilà pourquoi j'ai dû passer par GotFocus. Mais quand on ne jongle pas avec ces histoires-là, ce n'est pas forcément évident du premier coup.
Enfin, même si ce problème est réglé, en est apparu un nouveau. Quand on ferme le classeur et qu'on le rouvre, quand on passe sur la vue où apparaît ce maudit SpinButton, et bien il est décalé. C'est magique !!! o_O
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Hello
Et oui "c'est magic" c'est comme les CommandButtons qui grossissent sans aucune raison...

Tant mieux si c'est fixé sur XL 2019, car depuis longtemps les ActiveX sur feuille sont, pour peu, très récalcitrants !

Bonne journée
@+Thierry
 

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

Pour en finir avec ce dernier problème de SpinButton, j'ai trouvé le moyen suivant.
Le SpinButton se décale uniquement quand, avant fermeture du classeur, on était en saisies décimales (SpinButton oculté). Donc je force tout simplement le classeur à se fermer en saisies sexagésimales (SpinButton visible). Quand j'ouvre le classeur, je suis toujours en saisies sexagésimales, ce qui n'est absolument pas gênant.
Il n'en demeure pas moins que cette histoire est incroyable...
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir Magic, Eriiiiic

Il n'en demeure pas moins que cette histoire est incroyable...

Ce n'est pas une histoire "incroyable" , je crois juste que c'est une histoire "pas finie"

Donc pas vraiment étonné de ces phénomènes. Je pense qu'à un moment Microsoft a voulu basculer des Contrôles Forms aux ActiveX OLEObjects et puis ils ont eu d'autres priorités et c'est resté en l'état, pour les UserForms heureusement ça a été appronfondi et débugué, mais sur les Feuilles à mon avis c'est resté sur trois pattes... Alors en plus si tu joues à "cache-cache" avec ces ActiveX et des colonnes qui se masquent... Ca m'étonne encore moins...

@+Thierry
 

job75

XLDnaute Barbatruc
Bonjour Magic_Doctor, _Thierry, eriiiic,

Pas suivi ce fil mais il arrive assez souvent qu'il faille différer l'exécution d'une macro.

Testez le fichier joint et cette macro :
VB:
Private Sub BoutonDD_DMS_Click()
'CommandButton "BoutonDD_DMS" permettant de passer en mode "DMS" ou "DD"

    Application.OnTime 1, "DD_vs_DMS" 'exécution différée

End Sub
A+
 

Pièces jointes

  • PB SpinButton(1).xlsm
    116.4 KB · Affichages: 3

Statistiques des forums

Discussions
311 730
Messages
2 081 989
Membres
101 856
dernier inscrit
Marina40