XL 2013 Problème Spinbutton

popy93

XLDnaute Nouveau
Bonjour,
Je partage un problème que j'ai avec une macro. Ma macro fonctionne. Il s'agit d'un bouton Spinbutton, qui permet de faire défiler des graphiques. Mon problème est que le sens des graphiques qui défilent ne me convient pas.
Je souhaite inverser le sens des boutons car actuellement ils fonctionnent à l'envers de ce que je veux ...

Merci pour votre aide!!

VB:
Private Sub SpinButton1_SpinDown()
myVAL = SpinButton1.Value

If myVAL = 3 Then myVAL = 4: SpinButton1.Value = 4

    ActiveSheet.ChartObjects("Chart 5").Activate
        
     ActiveChart.ChartTitle.Text = Range("$B$" & myVAL).Value
 
       ActiveChart.SeriesCollection(1).Select

       
    ActiveChart.SetSourceData Source:=Range("C" & myVAL & ":Q" & myVAL)

    Call Macro1
     Range("T21").Select
ActiveSheet.Protect "aaaa", True, True, True

End Sub

Private Sub SpinButton1_SpinUp()

myVAL = SpinButton1.Value

If myVAL = 32 Then myVAL = 31: SpinButton1.Value = 31

    ActiveSheet.ChartObjects("Chart 5").Activate
    ActiveChart.ChartTitle.Text = Range("$B$" & myVAL).Value
    ActiveChart.SeriesCollection(1).Select

    ActiveChart.SetSourceData Source:=Range("C" & myVAL & ":Q" & myVAL)
        Call Macro1
 Range("T21").Select
ActiveSheet.Protect "aaaa", True, True, True

End Sub
Sub Macro1()
'
' Macro1 Macro
'

ActiveSheet.ChartObjects("Chart 5").Activate
    ActiveChart.ChartArea.Select
    ActiveChart.SeriesCollection(1).XValues = "='bbbb'!$C$3:$Q$3"
End Sub


Merci
 
Solution
Bonjour sylvanu
Je vais gratter davantage pour le spin button.
et popy93
Si jamais vous avez la solution pour le spin button je suis preneuse afin de m'aider à progresser pour l'utilisation des macros,
un petit bout de code (exemple) "griffonné" à la va vite qui devrait vous parler (mais uniquement pour vous répondre) --->>>
Code:
Private Sub SpinButton1_SpinDown()
 Select Case SpinButton1.Value
  Case Is > SpinButton1.Max - 1
  Case Else
   SpinButton1.Value = SpinButton1.Value + 1
 End Select
 Range("A1").Value = SpinButton1.Value
End Sub

Private Sub SpinButton1_SpinUp()
 Select Case SpinButton1.Value
  Case Is < SpinButton1.Min + 1
  Case Else
   SpinButton1.Value = SpinButton1.Value - 1
 End Select
 Range("A1").Value =...

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir,
Je n'ai pas pu m'en empêcher.
En PJ un exemple en remplaçant le spin button par une barre de défilement.
L'avantage est que tout se fait sans VBA, et c'est tellement plus simple.
Çà peut être une solution.
Je vais gratter davantage pour le spin button.
 

Pièces jointes

  • test 1.xlsm
    35.1 KB · Affichages: 15

popy93

XLDnaute Nouveau
Bonsoir, cette solution me convient bien, merci beaucoup !! Si jamais vous avez la solution pour le spin button je suis preneuse afin de m'aider à progresser pour l'utilisation des macros,
Merci encore pour la solution apportée à mon problème
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re, aussitôt demandé, aussitôt servie ! :)
J'ai remplacé le SpinButton ActiveX en SpinButton Formulaire qui est bien plus simple à traiter.
Le code se résume à ça :
VB:
Sub SpinButton1()
myVAL = 36 - [ValCursor]
ActiveSheet.Unprotect "aaaa"
    ActiveSheet.ChartObjects("Graphique 2").Activate
     ActiveChart.ChartTitle.Text = Range("$B$" & myVAL).Value
    ActiveChart.SeriesCollection(1).Select
    ActiveChart.SetSourceData Source:=Range("C" & myVAL & ":Q" & myVAL)
ActiveSheet.Protect "aaaa", True, True, True
End Sub
Perso, je préfère le potentiomètre. Question de gout.
 

Pièces jointes

  • test(V3).xlsm
    37 KB · Affichages: 26

sylvanu

XLDnaute Barbatruc
Supporter XLD
Vous remarquerez qu'au post #2, j'avais proposé :
VB:
Si votre Spinbutton va apparemment de 0 à 31, il suffit d'inverser la valeur : NewMyVal=31-myVal
En supposant que vous alliez de 0 à 31. Comme vous allez de 5 à 31, ça devient :
Code:
myVAL = 36 - [ValCursor]
Comme quoi ...

Bonne soirée.
 

jmfmarques

XLDnaute Accro
Bonjour sylvanu
Je vais gratter davantage pour le spin button.
et popy93
Si jamais vous avez la solution pour le spin button je suis preneuse afin de m'aider à progresser pour l'utilisation des macros,
un petit bout de code (exemple) "griffonné" à la va vite qui devrait vous parler (mais uniquement pour vous répondre) --->>>
Code:
Private Sub SpinButton1_SpinDown()
 Select Case SpinButton1.Value
  Case Is > SpinButton1.Max - 1
  Case Else
   SpinButton1.Value = SpinButton1.Value + 1
 End Select
 Range("A1").Value = SpinButton1.Value
End Sub

Private Sub SpinButton1_SpinUp()
 Select Case SpinButton1.Value
  Case Is < SpinButton1.Min + 1
  Case Else
   SpinButton1.Value = SpinButton1.Value - 1
 End Select
 Range("A1").Value = SpinButton1.Value
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 349
Membres
102 869
dernier inscrit
radyreth