faire une macro sur des horaires

  • Initiateur de la discussion Initiateur de la discussion Céline
  • Date de début Date de début

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 !

C

Céline

Guest
Bonjour,

Alors voilà mon soucis (et probablement le dernier pour cette serie de tab de bord puisque je touche le bout !!!youpi)

Donc j'ai un tableau avec X colonnes, représentant des secteurs.
En ligne j'ai les jours de la semaine, mais pour chaque jour de la semaine, on a des lignes avec comme info le camion chargé de la collecte, l'heure de fin de tournée que l'on rentre sous le format hh:mm), et le tonnage. En gros pour chaque jour j'ai des lignes d'infos.
Je cherche à travailler sur les heures fin de tournée. Cette info se situe toutes les 8 lignes( ex: ligne 9 pr lundi, ligne 17 pr mardi, ligne 25 pr mercredi,etc...)
En bas de mon tableau, j'ai l'horaire moyen de fin de la collecte pr le secteur donné. Ce que je veux c'est que si l'horaire de fin de tournée pr un jour donnée est supérieur à heure moyen + 30 min, alors la case 'en faute' se colore en rouge.

J'ai tenté de prendre des brides de différente macro et conseil du forum et autre site mais c'est pas glorieux.
Pouvez m'aider à faire cette macro ?
Comment fait-on pour indiquer que l'on veut que ce soit supérieur à heure moyen + 30 min (ça marche pas quand je tente des trucs)
Comment fait-on pour que ça marche tout simplement ?
merci d'avance
 
Afin de mieux voir, je joint un copie de mon classeur pour mieux se rendre compte de mon probleme.

Par exemple dans la premiere colonne (sivam, Om1), les cellules qui doivent se colorer sont : d9; d17; d25; d33; d41; d49; d51.
La cellule D69 est la moyenne.
Je cherche donc à colorer en rouge les cases citées ci dessus si leur valeur est supérieur à D69 + 30 min.

La macro que j'ai essayé est :

' Definition des termes
Dim rg As Range

'Boucle des colonnes
For colonne = 4 To 20 Step 1

'Boucle des lignes
For ligne = 9 To 57 Step 8

'calcul du delta
delta = ligne * 8

For Each rg In Range(Cells(9 + delta, 4), Cells(9 + delta, 20))

'test si valeur de retour est supérieure a 30min à l'horaire moyen
If rg.Value > Range('D69').Value Then rg.Font.ColorIndex = 3

Next rg

Next ligne
Next colonne

'
End Sub

Elle n'est pas finie car de toute manière ça ne marche pas !
En plus je n'ai mis pour l'instant que > à D69 car je n'ai pas trouvé comment indiqué D69 + 30 min.Mais même sous sa forme actuelle, rien ne se passe !
Où est l'erreur ? je tourne en rond de pas savoir (p.s : je débute en VBA)
 
bonjour

0.020833833 =00:30
Range('D69').Value =0,166666667 ,formaté=4:00

Public Sub Couleur()

Dim C As Byte
Dim Cellule As Range, Cel(6) As String
Cel(0) = 'D9': Cel(1) = 'D17': Cel(2) = 'D25': Cel(3) = 'D33'
Cel(4) = 'D41': Cel(5) = 'D49': Cel(6) = 'D51'
For C = 0 To 6
Set Cellule = Range(Cel(C))
If Cellule.Value > Range('D69').Value + 0.020833833 Then
Cellule.Font.ColorIndex = 3
End If
Next C

End Sub

au revoir
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour