XL 2021 Curseur personnalisé déplaçable

Fanybabeth

XLDnaute Nouveau
Bonjour a tous ;)
Je suis débutant, et j'aimerai un peu d'aide.
J'ai créer un Excel pour la conduite des routiers. Il y a donc des grille journalière qui ce colorie en fonction de son activité. Ca j'ai réussi ;)
Cependant je souhaite sous chaque journée créer un curseur d'une taille défini que le conducteur puisse faire coulisser sur la largeur de ça journée.
Par exemple si il commence a 5h il place le curseur sous 5h et la longueur du curseur lui indique directement l'heure de fin de son amplitude.
Je sais pas si je suis claire

J'ai joint mon fichier ce sera peu être plus parlant
 

Pièces jointes

  • Grille activité Routiere.xlsx
    80 KB · Affichages: 14

Fanybabeth

XLDnaute Nouveau
Bonjour Gbinforme ;)
Ce curseur n'a pour but d'être que visuel et n'est relier a aucune données.
Pour les fois ou il sera a cheval entre 2 journée, c'est la qu'intervient la taille personnalisé du curseur. Ca largeur doit être ajustable. ou divisible.
En PJ le document mis a jour, si ça peux aider.
 

Pièces jointes

  • Grille activité Routiere.xlsm
    124.8 KB · Affichages: 1

Fanybabeth

XLDnaute Nouveau
Bonjour et merci pour ton travail Fanfan ;)
Par rapport a ce que tu a fait lorsque je clique sur une case ca me donne ça durée (ex "3h15 / 3h30")

En gardant cette exemple case cocher 3H15 affiche "3h15 / 3h30" soit 1/4 d'heure.
Ce que je souhaiterai c'est que :

si la case cocher est situer entre (0h-5h et 21h-0h(Heures de nuits)) le 1er chiffre soit incrémenté de 10H
Exemple "3H15 / 13H15"

si la case cocher est situer entre (5h et 21h(Heures de Jours)) le 1er chiffre soit incrémenté de 12H
Exemple "6H30 / 18H30"

Je souhaiterai que le résultat soit afficher comme suit (si possible)
Sous la grille de la journée une ligne supplémentaire, lors du clic le plus tôt "ex: 3H15"de la journée celui si colorie les case de cette ligne en fonction en fonction (donc de 3H15 à 13H15)

Cela permet au chauffeur lors du premier clique de connaitre ça fin de journée visuellement, et celle si reste afficher contrairement a la fenêtre qui s'ouvre actuel.
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Comment l'amplitude est-elle déterminée :
1- S'il commence entre 21 h et 5 h, c'est obligatoirement 10 h ?
2- S'il commence entre 5 h et 21 h, c'est soit 13 h soit 15 h ?
Il n'y a donc que 3 amplitudes possibles ???

3-Comment déterminer l'amplitude à utiliser le jour ?


Il y a un truc que je trouve bizarre : avec une amplitude de 13 h il a un repos de 11 h, mais avec une amplitude de 15 h (donc 2 h de plus) il n'a que 9 h de repos (donc 2 h de moins). Est-ce bien ça ?
 
Dernière édition:

Fanybabeth

XLDnaute Nouveau
Bonjour,

Comment l'amplitude est-elle déterminée :
1- S'il commence entre 21 h et 5 h, c'est obligatoirement 10 h ?
2- S'il commence entre 5 h et 21 h, c'est soit 13 h soit 15 h ?
Il n'y a donc que 3 amplitudes possibles ???

3-Comment déterminer l'amplitude à utiliser le jour ?


Il y a un truc que je trouve bizarre : avec une amplitude de 13 h il a un repos de 11 h, mais avec une amplitude de 15 h (donc 2 h de plus) il n'a que 9 h de repos (donc 2 h de moins). Est-ce bien ça ?
Bonjour TooFatBoy ;)
1- de 21H a 5H de nuit c'est 10H
2- de 5H a 21H la journée c'est 12H

3 X /semaines tu peux réduire ton repos pour conduire plus.
15H d'amplitude + 9H de repos =24H (1 période) Uniquement 3x/semaine
13H d'amplitude + 11H de repos =24H (1 période)
 

fanfan38

XLDnaute Barbatruc
Tout est dans la macro evenementielle quand une cellule change
pour la voir clic sur l'onglet de la feuille et choisi visualiser le code

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Dim hdeb As Double, hfin As Double, coldeb As Integer, colfin As Integer
'la ligne ci dessous c'est pour contrôler qu'on est bien dans les bonnes cellules
  If Not Intersect(Target, Range("B9:CX12, B17:CX20, B25:CX28, B33:CX36")) Is Nothing Then
  If Target.Interior.Color = RGB(225, 150, 225) Then 'pour supprimer une selection
    Target.Interior.Color = Cells(Target.Row, 3).Interior.Color
    Exit Sub
  End If
  With Selection
    coldeb = .Column
    hdeb = ((coldeb - 3) / 4) - 1
    If hdeb >= 5 And hdeb <= 21 Then 'si jour +12h 
      colfin = coldeb + 47: hfin = hdeb + 12
      MsgBox Format(hdeb / 24, "hh:mm") & " / " & Format(hfin / 24, "hh:mm")
   Else 'sinon +10h
      colfin = coldeb + 39: hfin = hdeb + 10
      MsgBox Format(hdeb / 24, "hh:mm") & " / " & Format(hfin / 24, "hh:mm")
    End If
  End With
'couleur 
  Range(Cells(Target.Row, coldeb), Cells(Target.Row, colfin)).Interior.Color = RGB(225, 150, 225)
  End If
End Sub

A+ François
 

TooFatBoy

XLDnaute Barbatruc
Bonjour TooFatBoy ;)
1- de 21H a 5H de nuit c'est 10H
2- de 5H a 21H la journée c'est 12H

3 X /semaines tu peux réduire ton repos pour conduire plus.
15H d'amplitude + 9H de repos =24H (1 période) Uniquement 3x/semaine
13H d'amplitude + 11H de repos =24H (1 période)
Donc le jour c'est 10 h.
Mais la nuit c'est 12 h sauf quand c'est plus, jusqu'à 24 h ?

Vu qu'il n'y a rien de fixe, comment peut-on déterminer dès le clic sur la première case la durée de l'amplitude ?
Car, c'est bien le but du jeu : allonger le curseur en fonction de la durée de l'amplitude, dès qu'on clic sur la première cellule. Me trompé-je ?
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 221
Membres
103 158
dernier inscrit
laufin