Vscrollar valeur par 0.2 et pas par 1

Résolu
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 - 5 févr. 2012 à 11:29
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 - 5 févr. 2012 à 17:51
Bonjour ,

Avec un vscrollbar je n'arrive pas a changer la valeur par 0.2 a la place de 1 on est obliger de passer par un calcul ??

Merci

6 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
5 févr. 2012 à 11:36
Bonjour,
Ben oui (et c'est facile !)
Pour aller de min 1 à min 2 avec pas de 0.2

Min = 10
Max = 20
pas 2
>> value_à_prendre = Value/10


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
5 févr. 2012 à 11:53
exemple bâclé (mais testé) :
Private Sub Form_Activate()
  With HScroll1
    .Min = 0
    .Max = 40
    .SmallChange = 2
    .LargeChange = 2
  End With
End Sub

Private Sub HScroll1_Change()
  Label1.Caption = HScroll1.Value / 10
End Sub


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 1
5 févr. 2012 à 13:06
Bonjour Ucfoutu ,

Merci , c'est ce que j'avais fait , j'ai fait la bare en milliseconde /1000

Merci
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
5 févr. 2012 à 14:26
Bonjour,

Attention, si ta valeur de départ est paire lors du scroll tu peux obtenir une valeur impaire et vice-versa.

Si tu veux absolument des valeurs paires, quelle que soit la position du scroll, je coderais ainsi :
Private Sub HScroll1_Change()
   With HScroll1
      If .Value / 2 <> .Value \ 2 Then .Value = .Value + 1
      Label1.Caption = .Value / 10
   End With
End Sub

Code valable sans contrôle de dépassement de la valeur Max à condition que celle-ci soit paire.

Cheyenne
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
5 févr. 2012 à 16:31
Bonjour, Cheyenne.
Tu as oublié l'existence de Mod ?
If .Value / 2 <> .Value \ 2 Then .Value = .Value + 1

+++>>
If value mod 2 <> 0 then value =  value + 1


Mais regarde du "plus mieux" :
Label1.Caption  = (HScroll1.Value + (HScroll1.Value And 1)) / 10

les joies de VB sont infinies

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
5 févr. 2012 à 17:51
Bonjour ucfoutu,

Mod ? Non, je ne l'ai pas oublié, quoi que l'on puisse le croire puisque je n'en ai pas fait mention.

D'ailleurs, j'avais les deux autres possibilités que tu proposes dans mes snippets perso. Honte à moi de ne pas y avoir pensé avant de répondre. J'ai fait au plus vite, comme quoi vitesse et précipitation....

La dernière solution est évidement la "plus mieux" puisque l'on se passe du test.

Bonne soirée à toi.

Cheyenne
0
Rejoignez-nous