Compteur et format heure dans excel

Fermé
nemotri Messages postés 175 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 8 décembre 2017 - 16 sept. 2009 à 21:49
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 30 nov. 2009 à 18:09
Bonjour,

Je viens de découvrir la possibilité d'utiliser un compteur dans excel mais j'ai un petit souci.
J'ai une cellule B2 dans laquelle j'ai une heure écrite au format hh:mm

J'aimerai mettre un compteur lié à cette cellule pour pouvoir faire varier l'heure avec un pas de 5min genre :

valeur initilae = 01:15 => clic sur le bouton haut du compteur => 01:20 => 2 clics sur le bouton bas du compteur => 01:10

Est-ce possible ?

De la même manière, pour une autre cellule je souhaiterai faire varier un nombre standard avec un pas de 0.5 (valeur initiale = 70 => clic haut => 70.5 => 2 clics bas => 69.5). Est-ce possible là aussi car j'ai l'impression que le pas ne peut être qu'un nombre entier

Merci de vos réponses.
A voir également:

16 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
17 sept. 2009 à 00:19
bonjour

Je suppose que c'est un bouton toupie que tu as créé et il suffit que tu crée aussi dans le code ce genre de procédures
Private Sub SpinButton1_SpinDown()
    Range("A1").Value = Range("A1").Value - 0.5
End Sub

Private Sub SpinButton1_SpinUp()
    Range("A1").Value = Range("A1").Value + 0.5
End Sub

ou pour 5 mn
Private Sub SpinButton1_SpinDown()
    Range("A1").Value = Range("A1").Value - 5 / 24 / 60
End Sub

Private Sub SpinButton1_SpinUp()
    Range("A1").Value = Range("A1").Value + 5 / 24 / 60
End Sub
1
nemotri Messages postés 175 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 8 décembre 2017 35
17 sept. 2009 à 12:18
Ok merci,

Par contre je ne suis pas un pro en excel et moi je n'avais pas mis une toupie mais un compteur.

Je peux tout à fait mettre une toupie et copier le code que tu m'as donnée par contre comment fait-on pour affecter cette toupie à la cellule souhaitée ?
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
17 sept. 2009 à 18:47
bonjour

La cellule est dans le code : ici j'ai mis A1 comme tu peux voir
0
nemotri Messages postés 175 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 8 décembre 2017 35
17 sept. 2009 à 19:33
Ok désolé pour mon ignorance.

Par contre je ne comprends pas : quand j'ouvre un nouveau fichier, j'insère une toupie, je double clic dessus, la page VBA s'ouvre, je copie ton code je ferme VBA mais je ne peux pas cliquer sur la toupie. A chaque fois je sélectionne l'objet pour le déplacer ou le redimensionner mais je ne peux pas l'utiliser fonctionnellement.

Qu'est ce qui se passe ?
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
17 sept. 2009 à 20:28
Bonsoir tout le monde,

Il faut que tu quittes le mode création (icone regle-équerre-crayon)

eric
0

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

Posez votre question
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
17 sept. 2009 à 20:29
bonjour

Il faut fermer le "mode création" mais je ne sais pas ta version pour de donner plus de détails.
0
nemotri Messages postés 175 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 8 décembre 2017 35
18 sept. 2009 à 12:11
Merci pour cette réponse tout fonctionne maintenant, c'est vraiment super.
0
nemotri Messages postés 175 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 8 décembre 2017 35
18 sept. 2009 à 12:22
J'ai juste un petit souci pour le format heure. J'ai bien copier la formule par contre quand je clic sur le bouton haut je ne peux aller que jusqu'à 00:05 et en cliquant sur le bouton bas je ne peux aller qu'à 23:55, quelque soit la valeur initiale qu'il y a dans ma cellule.

D'où vient le problème ?
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
18 sept. 2009 à 13:48
bonjour

J'ai juste un petit souci pour le format heure

Il faut utiliser le format [h]:mm pour dépasser 24 h lors de l'affichage.

Excel ne gère pas les heures négatives sauf à cocher le calendrier 1904 qui modifie les dates saisies en rajoutant 4 ans et 1 jour.
0
nemotri Messages postés 175 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 8 décembre 2017 35
20 sept. 2009 à 17:41
Super c'est parfait !!
Merci beaucoup.
0
nemotri Messages postés 175 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 8 décembre 2017 35
26 oct. 2009 à 15:38
Bonjour,

Je souhaiterai savoir s'il est possible à l'aide d'une toupie de limiter l'étendue de la case sur laquelle la toupie agit.
Par exemple j'ai une toupie qui me permet de faire varier la valeur de la cellule B2 de +1 ou -1 mais j'aimerai que le minimum soit 0 et que le maximum soit 6.

Comment dois-je faire ? Je suppose qu'il faut aller dans les propriétés mais je ne trouve pas.

Merci d'avance.
Boris.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
26 oct. 2009 à 18:28
Bonjour,

Pourtant dans les propriétés de la toupie tu as min et max.
Tant que tu es dans les propriétés regarde linkedcell, ça m'étonnerait que sa valeur soit B2 (vu que tu y affiches -1), tu dois avoir une autre cellule et en B2 une formule qui s'y réfère.

eric
0
Bonjour Eriic,

Merci pour ta réponse.
Donc en fait j'ai par exemple dans mon classeur une toupie qui se nomme "SpinButton5" et qui répond à cette procédure :

Private Sub SpinButton5_SpinDown()
Range("M29").Value = Range("M29").Value - 1
End Sub
Private Sub SpinButton5_SpinUp()
Range("M29").Value = Range("M29").Value + 1
End Sub

Anisi quand je clic vers le bas la valeur en M29 diminue de 1 et quand je clic vers le heut ma valeur en M29 augmente de 1.
Seulement je souhaiterai que la valeur minimale de M29 soit 0 et que sa valeur maximale soit 7.

Quand je vais dans propiriété de SpinButton5 en max j'ai 100 et en min j'ai 0.
Si je mets max = 7 et min = 0, cela ne change rien.

Pour info, en linkedcell je n'ai rien d'écrit dans les propriétés.

Comment dois-je donc faire ?

Merci.
Boris.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
28 oct. 2009 à 14:47
Bonjour,

Pour ça tu n'a pas besoin d'ajouter de code.
Dessine ta toupie sur la feuille, clic-droit dessus 'propriétés'.
Là tu fixes min, max et linkedcell (tu saisis juste M29 dedans)
Désactive ensuite le mode 'création' (icone équerre+regle+crayon)

eric
0
Bonjour,
Je souhaiterai créer un bouton ayant les mêmes fonctions que celles demandées par Nemotri cependant je n'ai pas la "boite à outils contrôle", donc impossible d'avoir une toupie!
Ma première idée fut d'utiliser le "compteur" provenant du "formulaire" mais qui ne me laisse pas la possibilité de manipuler un format "heure" dans ses propriétés. On peut toutefois lui affecter une macro:

Sub Compteur2_QuandChangement()

End Sub

Mais que mettre entre les deux? Comment lui faire comprendre que la flèche du haut doit augmenter la valeur celle du bas là diminuer?

Merci d'avance!
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
24 nov. 2009 à 20:48
Bonjour,
je n'ai pas la "boite à outils contrôle"
menu 'affichage / barre d'outils...' cocher 'boite à outils contrôle'

Comment lui faire comprendre que la flèche du haut doit augmenter la valeur celle du bas là diminuer?

Ben elle le sait...
Dans les propriétés tu dois définir min, maxi et cellule liée. Tu verra sa valeur augmenter ou baisser d'une unité.
A toi de convertir ce nombre en heure excel par formule (ou macro mais peu d'intérêt sauf si c'est vraiment nécessaire)
Ta formule dépend du pas que tu désires afficher (toutes les heures, toutes les minutes, tous les 1/4h,...).
Si c'est pour afficher des heures :
mini=0, maxi=23, pas=1, cellule liée =A1
en A2 saisir =A1/24 et mettre le format 'Heure'

eric
0
Re-Bonjour,
En fait j'utilise Office pour Mac, et il ne semble vraiment pas y avoir de boite à outils contrôle!

Merci pour ta solution mais cela m'oblige à utiliser une A2 faisant référence au résultats de A1... Dans l'idéal, j'aurais voulu avoir directement mon résultat dans A1, d'où mon raisonnement pour une macro!

La solution proposée par Gbinform est intéressante, mais je ne sais pas comment retranscrire le SpinDown et SpinUp à mon bouton tout en sachant que ma macro commence par Sub Compteur2_QuandChangement(). J'ai essayé Sub Compteur2_QuandChangement_SpinDown(), mais il ne veut pas... Mes connaissances en VBA sont encore limitées!

Merci d'avance pour votre aide
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
24 nov. 2009 à 21:30
je ne sais pas comment ça se présente sur un mac mais si tu as accès à Sub Compteur2_QuandChangement() en double-cliquant sur l'objet c'est que ça doit être un objet que nous avons dans la boite à outils sur windows.
Regarde au-dessus de ton code si tu n'as pas une liste déroulante avec l'evenement QuandChangement.
Si oui tu as accès aux autres evenements générés par cet objet dans cette liste déroulante

eric
0
nemotri Messages postés 175 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 8 décembre 2017 35
30 nov. 2009 à 11:48
Bonjour bon je déterre un peu mon post pour une nouvelle question.

J'ai créé une toupie qui répond à la procédure suivante :

Private Sub SpinButton1_SpinDown()
Range("A1").Value = Range("A1").Value - 0.1
End Sub

Private Sub SpinButton1_SpinUp()
Range("A1").Value = Range("A1").Value + 0.1
End Sub


Jusqu'ici tout fonctionne parfaitement seulement j'aimerai que ma valeur dans ma cellule A1 soit toujours comprise entre 50.0 et 80.0
Comment puis-je faire pour limiter ces valeurs max et mini ?

Merci de votre aide.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
30 nov. 2009 à 18:09
bonjour

Comme ceci tu restes dans les limites :
Private Sub SpinButton1_SpinDown()
If Range("A1").Value > 50 then _
Range("A1").Value = Range("A1").Value - 0.1
End Sub

Private Sub SpinButton1_SpinUp()
If Range("A1").Value < 80 then _
Range("A1").Value = Range("A1").Value + 0.1
End Sub 
0