renseignements sur une scrollbar

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 !

pascal21

XLDnaute Barbatruc
bonjour le forum
j'aimerais faire un essai avec une scrollbar dans un usf pour remplacer la saisie au clavier d'heures dans un tableau
la scrollbar devra avoir un pas de 00:15 h valeur mini 00:00 et maxi 24:00
1)comment régler ces parametres dans propriétés?
2) quel est le code qui permet la saisie de la valeur voulue dans la cellule
3 est-ce que ça sera vraiment plus rapide et pratique que la saisie au clavier sur un pc portable
merci
edit si vous avez une autre solution n'hésitez pas à donner
 
Dernière édition:
Re : renseignements sur une scrollbar

bonsoir Guiv
merci pour ta proposition
je crains que la sélection des heures avec cette technique (toupie) ne soit pas plus rapide que la saisie au clavier
je mets un bout de classeur avec la scrollbar
 

Pièces jointes

Re : renseignements sur une scrollbar

Bonsoir Pascal, Guiv,

Comme tu dis, il est clair que la saisie est plus rapide.

Pourquoi passer par Vba lorsque Excel sait faire plus vite ?
Poids inutile, temps inutile sauf si l'on veut gérer la saisie pour interdire tel ou tel mode de saisie.... (date, texte, valeur numérique....)

Mon sentiment.

Bonne soirée.

Jean-Pierre
 
Re : renseignements sur une scrollbar

bonjour
merci d'y avoir planché si tard
pas bête ta solution je vais regarder ce que ça pourrait donner avec 24 x 4 labels de 0;15h
faudrait pas que l'utilisateur passe plus de temps à chercher le bon bouton qu'à écrire au clavier
pour ce classeur l'utilisateur à déjà un clavier virtuel (crée ici grace au forum) à sa disposition mais je crois que l'utilisateur (mon patron) ne s'en sert pas
et qu'il la fait au clavier du pc portable (pas de pavé numérique)
 
Re : renseignements sur une scrollbar

Bonjour ,
Je ne suis pas sûr que ce soit vraiment plus rapide qu'une saisie classique.
Pour l'ergonomie, il faudrait peut-être faire 2 "barres" l'une au-dessus de l'autre (1 pour AM, une PM), et peut-être mettre quelques repères le long des barres (toutes les heures ou toutes les 2 heures).

Le code ci-dessous, trouvé sur ce forum bien sûr, permet une saisie extrêmement simplifiée des heures telle que:

Saisir "2" donne 02:00
Saisir 12.3 donne 12:30
Saisir 5.4 donne 05:40
etc etc

C'est ce que j'utilise dans les fichiers où il y a beaucoup d'horaires à saisir.

Code:
Private Sub WorkSheet_Change(ByVal Target As Range)
'aide à la saisie des heures

If Target.Count = 1 Then

If Target.Value <> "" Then
If Not IsNumeric(Target.Value) Then
 MsgBox "Horaire non valide"
Else
    Dim tps As Single
    tps = Target.Value * 100
    
        Application.EnableEvents = Not Application.EnableEvents
        If CStr(Int(tps / 100)) <= 24 Or CStr(tps Mod 100) > 60 Then
        Target = CDate(CStr(Int(tps / 100)) & ":" & CStr(tps Mod 100) & ":00")
        Else
        MsgBox "Horaire non valide"
        End If
        Application.EnableEvents = Not Application.EnableEvents
    End If
    
End If

Else: Exit Sub

End If
Exit Sub
End Sub

Bien sûr, on peut préciser les plages sur lesquels on veut que cet événement se produise...

Bonne journée

Guiv
 
Re : renseignements sur une scrollbar

re
j'ai essayé de modifier ton code pour le cas qui m'interrese
malheureusement je n'y suis pas arrivé
par contre je viens de trouver une astuce pour afficher les heures au bon format
0 étant égal à 00:00 et 1 à 24:00
pour 24 heures valeur mini 0 maxi 1000
ensuite ce code
Code:
 Private Sub ScrollBar1_Scroll()
Range("a1").Value = ScrollBar1.Value / 1000
Label1.Caption = Format(Range("a1"), "hh:mm")
End Sub
j'ai bien le bon format dans a1 et dans le label1
par contre je n'ai pas le step de 00:15h comme je le souhaiterais
et je n'ai pas trouvé dans propriétés de quoi modifier
le pas voulu correspond à cette valeur
Code:
 0.010416667
j'ai essayé sans trop savoir ce code
Code:
  Private Sub UserForm_Initialize()
Dim step As interger
ScrollBar1.step = (0.010416667)
End Sub
ça marche pas, ça doit pas être la bonne syntaxe
 
Dernière édition:
Re : renseignements sur une scrollbar

bonsoir pierrot
merci pour ton aide ,ça j'avais réussi à faire ;ce qui me manque c'est le step de 0:15 h
parceque là comme ça je me suis vite rendu compte qu'il fallait un certain temps pour sélectionner une valeur correcte
 
Re : renseignements sur une scrollbar

re,

sauf erreur, le code que je t'ai donné rajoute / enlève 15mn lorsque tu cliques à l'interieur du "scrollbar",utilisation de la propriété "largechange". Ou alors quelque chose m'a échappé... fort possible du reste...

bonne soirée
@+
 
Re : renseignements sur une scrollbar

ben non en tout les cas j'arrive à afficher des valeurs autres que les multiples de 0:15h par exemple 15:36 alors que 15:30 serait suffisant
il n'existe donc pas un code qui permet de programmer les pas que l'on souhaite dans une scrollbar?
 
Re : renseignements sur une scrollbar

bonjour
on peut dire que tu as de la constance au moins
voila c'est bien ce que je cherchais
c'est vrai comme ça ce n'est pas très ergonomique
mais comme tu l'a suggérer plus, je vais voir en le partageant en deux ou trois zones horaires et en mettant une indication le long du scrollbar (règle )pour se repérer mieux
bon weekend
 
- 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

C
Réponses
5
Affichages
2 K
Charles78
C
F
Réponses
6
Affichages
2 K
F
Retour