XL 2010 afficher une alerte si un pompier depasse les 24H de garde

Meloman

XLDnaute Occasionnel
Bonjour à tous j'espére que le forum se portent bien

voilà je viens vous exposer mon petit problème

je gére le planning de ma petite caserne le problème c'est que souvent je fait pas attention et je met un agent en poste plus de 24h du coup sa râle (Normal)

mon tableau est composé de la façon suivante le matin (07h00-13h00) l'aprés midi (13H00-19h00)et la nuit (19H00-07H00)

si un agent est le matin aprés midi et la nuit il peut pas refaire de suite un matin.

j'ai bien tenter essayer me faire une macro mais sa marche pas il me donne des noms aléatoire voir rien du tous

je precise juste que les 24h peut commencer le matin mais aussi l'apres midi ou le soir

pouvez vous m'aider svp merci
 

Pièces jointes

  • Limite.xlsm
    34.3 KB · Affichages: 58
Dernière édition:

JBARBE

XLDnaute Barbatruc
Re,
Je me suis peut-être mal expliqué mais voilà l'exemple de + de 24 h (24h de suite) Aprés- midi - nuit - matin - aprés-midi(et pas soir)
Bonne journée !
GardeA.jpg
 

jp14

XLDnaute Barbatruc
Bonsoir

Ci joint le fichier avec mise a jour du planning par une macro évènementielle.
Si dans la feuille planning la procédure trouve 4 période adjacente pour une personne addichage d'un message.

La procédure peut être lancé par le bouton.
A tester

Correction dans la procédure "Private Sub Worksheet_Change(ByVal Target As Range)"
lig = Target.Row - 4 'pour que le numéro de ligne soit un multiple de 8
 

Pièces jointes

  • Copie de Limite5.xlsm
    49.1 KB · Affichages: 39
Dernière édition:

JBARBE

XLDnaute Barbatruc
Bonsoir à tous,
Peut-être ceci !
Il y a des colonnes masquées !
De plus la feuille se positionne sur la cellule + de 24 h en rouge !
A essayer !
GardeC.jpg
 

Pièces jointes

  • LimiteA.xlsm
    75.6 KB · Affichages: 45
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bonjour.
On devrait pouvoir signaler juste les derniers en trop par des MeFC s'appuyant sur les formules un peu plus courtes installées par cette macro :
VB:
Sub Dran()
[E13:E250].FormulaR1C1 = "=AND(" & ExisteDans(2, 2) & "," & ExisteDans(2, 3) & "," & ExisteDans(2, 4) & ")*1" _
                & vbLf & "+AND(" & ExisteDans(3, 2) & "," & ExisteDans(3, 3) & "," & ExisteDans(3, 4) & ")*2" _
                & vbLf & "+AND(" & ExisteDans(4, 2) & "," & ExisteDans(4, 3) & "," & ExisteDans(4, 4) & ")*4"
End Sub
Private Function ExisteDans(ByVal ColQuoi As Long, ByVal ColOù As Long) As String
ExisteDans = "ISNUMBER(MATCH(RC" & ColQuoi & ",OFFSET(R" & IIf(ColOù >= ColQuoi, "[-8]C" & ColOù & ":R[-3]C", "C" & ColOù & ":R[5]C") & ColOù & ",-MOD(ROW()-5,8),0),0))"
End Function
Format de nombre personnalisé :
Code:
[>0]"+ de 24h";
upload_2017-1-28_12-37-52.png


Remarque: La Sub Dran indiquée au début installe en E13, propagé sur 238 lignes :
Code:
=ET(ESTNUM(EQUIV($B13;DECALER($B5:$B10;-MOD(LIGNE()-5;8);0);0));ESTNUM(EQUIV($B13;DECALER($C5:$C10;-MOD(LIGNE()-5;8);0);0));ESTNUM(EQUIV($B13;DECALER($D5:$D10;-MOD(LIGNE()-5;8);0);0)))*1
+ET(ESTNUM(EQUIV($C13;DECALER($B13:$B18;-MOD(LIGNE()-5;8);0);0));ESTNUM(EQUIV($C13;DECALER($C5:$C10;-MOD(LIGNE()-5;8);0);0));ESTNUM(EQUIV($C13;DECALER($D5:$D10;-MOD(LIGNE()-5;8);0);0)))*2
+ET(ESTNUM(EQUIV($D13;DECALER($B13:$B18;-MOD(LIGNE()-5;8);0);0));ESTNUM(EQUIV($D13;DECALER($C13:$C18;-MOD(LIGNE()-5;8);0);0));ESTNUM(EQUIV($D13;DECALER($D5:$D10;-MOD(LIGNE()-5;8);0);0)))*4
VB:
Feuil1.[E13:E250].FormulaR1C1 = _
"=AND(ISNUMBER(MATCH(RC2,OFFSET(R[-8]C2:R[-3]C2,-MOD(ROW()-5,8),0),0)),ISNUMBER(MATCH(RC2,OFFSET(R[-8]C3:R[-3]C3,-MOD(ROW()-5,8),0),0)),ISNUMBER(MATCH(RC2,OFFSET(R[-8]C4:R[-3]C4,-MOD(ROW()-5,8),0),0)))*1
+AND(ISNUMBER(MATCH(RC3,OFFSET(RC2:R[5]C2,-MOD(ROW()-5,8),0),0)),ISNUMBER(MATCH(RC3,OFFSET(R[-8]C3:R[-3]C3,-MOD(ROW()-5,8),0),0)),ISNUMBER(MATCH(RC3,OFFSET(R[-8]C4:R[-3]C4,-MOD(ROW()-5,8),0),0)))*2
+AND(ISNUMBER(MATCH(RC4,OFFSET(RC2:R[5]C2,-MOD(ROW()-5,8),0),0)),ISNUMBER(MATCH(RC4,OFFSET(RC3:R[5]C3,-MOD(ROW()-5,8),0),0)),ISNUMBER(MATCH(RC4,OFFSET(R[-8]C4:R[-3]C4,-MOD(ROW()-5,8),0),0)))*4"
 
Dernière édition:

Meloman

XLDnaute Occasionnel
Bonjour JBARBE Danreb et JP14 je tenais encore à vous remercier à tous les 2 Jbarbe j'ai tester ton fichier le soucis c'est qu'il m'affiche +24h alors exemple rop à fais que 24h il à été l’après midi en coupure puis reprend le soir comme y a eu la coupure de l’après midi il ne fait pas plus de 24h il est juste dans les clous si il avais été l’après midi du 02 janvier la oui il aurait fais plus de 24h

JP14 j'ai tester et essayer de comprendre ton fichier et au final avec ton approche sa m'a permis arrivée à mes fin j'ai put même faire en sorte avoir la liste des agent dépassant l'horaire l'égale il est vrais au début ajouter un onglet supplémentaire me plaisais pas plus que sa mais en utilisant une macro pour masquer et afficher l'onglet et un autre pour importer la liste des nom en colonne A je suis satisfait.


en tous cas un grand merci à vous deux pour votre implication dans mon projet sa va bien m'aider à prévoir éventuel erreur je vous remercie tous
 

JBARBE

XLDnaute Barbatruc
Bonjour à tous,
Je n'y comprends plus rien !
D'une part tu nous donne une réponse tardive, d'autre part dans ton post #9 tu nous donne comme exemple ce que j'ai fait ( coupure l'aprés-midi prit en compte ) ( voir image de ton fichier)
Mes posts #16 & #17 étaient bons ( sans réponse )
Demande si le post #19 ( faux) est bon sans réponse !
Tu me demande des formules ( c'est ce que j'ai fait) sans réponse !
Pourquoi ce silence pendant longtemps sans réponse et ne pas avoir donner une réponse pour la solution de Dranreb !!!!
Désolé mais c'est du n'importe quoi !
Franchement, je regrette d'avoir consacré tant de temps sur ton fichier !
Je te joins maintenant le bon fichier qui était déjà fait
bonne journée à tous !
 

Pièces jointes

  • LimiteAA.xlsm
    79.8 KB · Affichages: 37
  • GardeD.jpg
    GardeD.jpg
    84.3 KB · Affichages: 30
Dernière édition:

Meloman

XLDnaute Occasionnel
Re à tous Jbarre ce que tu m'a envoyer correspond bien à ma recherche si je t'ai pas donner de réponse c'est que le week end j'ai pas internet car je travail qu'a la caserne. pour moi c'est pas une perte de temps ce que tu as fait car il m'a été utile c'est juste on c'était mal compris et pour daneb je viens de prendre connaissance de ce qu'il à écrit mais j'ai pas tous compris.

si je donne des réponse tardive c'est simplement entre les interventions et le moment ou je travail dessus je suis pas toujours maitre de mon temps et j'en suis vraiment désoler croyez moi en tous cas merci pour votre aide à tous
 

JBARBE

XLDnaute Barbatruc
Re,
Bon, j'ai compris et j'admire le travail des pompiers que je récompense en fin d'année avec leurs calendriers !
Mais bon sang, ce que je n'avais pas compris et que je n'arrive pas à comprendre c'est qu'il suffit seulement d'une matinée, d'un après-midi ou d'une nuit de pause pour reprendre le taf et repartir !
Chapeau Messieurs les pompiers !
Bonne journée quand même malgré tout !
 

Meloman

XLDnaute Occasionnel
re en fait c'est exactement sa là on parle de pompier volontaire pas pro les volontaire doivent respecter un temps de repos de 6heure évidement on essais de faire en sorte que ce soit plus mais des fois il y a pas le choix on parle plus en terme de garde que d'heure réellement. pas plus de 3 Garde 1 Garde de jour c'est 6 heures dans une journée il y en à 2 sachant que la garde de nuit c'est 12h sa nous fait 24h en tous cas merci de ton aide précieuse
 

Statistiques des forums

Discussions
312 069
Messages
2 085 037
Membres
102 762
dernier inscrit
Ucef