Toupie (SpinButton) se décale au fur et à mesure

Chinch - 18 févr. 2024 à 17:33
Le Pingou Messages postés 12152 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 27 septembre 2024 - 18 févr. 2024 à 18:03

Bonjour,

J'ai créé un fichier il y a un moment avec une toupie sur laquelle j'avais associé une macro simple de SpinButton afin de pouvoir augmenter ou diminuer les valeurs de la cellule afférente à cette toupie. J'avais étendu le fonctionnement de la toupie à l'intégralité de la colonne.

Jusque là, ça a toujours correctement fonctionné, mais depuis récemment j'ai un souci de décalage. J'ai beau replacer et redimensionner ma toupie sur la première cellule de la colonne, au bout de 10 ou 20 lignes, un décalage apparaît et s'accroît au fur et à mesure. Pire, les toupies changent de dimensions et d'orientation toutes seules... Le deuxième problème lié à ce décalage, c'est que du coup les valeurs ne s'incrémentent même plus dans la cellule sélectionnée ! Bref, c'est devenu un désordre pas possible.

Quelqu'un aurait-il une solution à cela ?

Ci-dessous, le code de ma macro :

Private Sub SpinButton1_SpinDown()
    Me.SpinButton1.TopLeftCell = Me.SpinButton1.TopLeftCell - 1
End Sub

Private Sub SpinButton1_SpinUp()
    Me.SpinButton1.TopLeftCell = Me.SpinButton1.TopLeftCell + 1
End Sub

Private Sub ScrollBar1_Change()

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Intersect(Target, [F2:F50000]) Is Nothing Then
        Me.SpinButton1.Visible = False
    Else
        Me.SpinButton1.Visible = True
        Me.SpinButton1.Top = Target.Top
        Me.SpinButton1.Left = Target.Left
    End If
End Sub

Merci par avance :)


Windows / Chrome 121.0.0.0

1 réponse

Le Pingou Messages postés 12152 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 27 septembre 2024 1 447
18 févr. 2024 à 18:03

Bonjour,

Juste au passage, votre code fonctionne correctement lorsque je sélectionne une case dans la plage (F2:F50000) la toupie est visible à la position de la sélection et est invisible si l'on sélectionne une autre cellule en-dehors de cette plage de référence.


0