Microsoft 365 Planning astreinte Excel

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 !

Snake53

XLDnaute Nouveau
Bonjour à tous,

je suis nouveau sur le forum, et je tiens à vous féliciter pour l’excellent travail d’entraide que vous apportés aux membres de ce forum après avoir parcouru celui-ci à la recherche d’une solution.
Je ne suis pas un expert sur Excel et j'ai créer un planning d'astreinte mensuelle avec 2 personnes par semaine avec1 agent en n°1 (couleur pleine) et 1 agent en n°2 (couleur rayée) avec un début d'astreint le vendredi midi et fin d'astreinte le vendredi midi suivant avec récupération le vendredi après-midi pour les 2 agents et cela pour l'année complète.
Jusque la tout va bien mais cela ce complique pour moi car je voudrais que ce planning soit automatisé c'est à dire qu'avec un bouton regenerer planning par exemple, qu'il modifie les jours et dates en fonction de l'année et qu'il planifie les semaines d'astreinte en fonction des congés de façon aléatoire d'une année sur l'autre et pas avec les mêmes agents systématiquement pour qu'il y est un roulement.
Je vous joint mon fichier planning pour la basse de travail.
Dans l’espoir que vous puissiez m'aider
Bien cordialement
Laurent
 

Pièces jointes

Solution
Bonjour à tous,
Alors voici la dernière version, probablement encore imparfaite, mais je n'irai pas plus loin (même si bug).
Des remerciements :
* à @Lolote83 : pour l'automatisation de l'interface du demandeur (j'ai repris son travail)
* à feu MFerrand : pour son code de distribution dont je me suis inspiré
Souhaitant que ça convienne.
P.
Bonjour Laurent,
A priori, je penche pour un problème de version d'excel.
Voici une version "retro-compatible" qui devrait aller avec les anciennes versions d'excel.
Si ça ne fonctionne toujours pas, je ne vois pas bien ce que je peux faire de plus.
En tout cas c'est fonctionnel à partir de Excel 2016.
Pierre
Bonjour p56,
Effectivement j'utilise excel 2010 avec la version retro-compatible cela fonctionne, par contre et j'en suis désolé, mais quand je change de trimestre le numéro de semaine ne s'affiche plus, c’était déjà comme comme ca avec les autres versions
Je vous joins une capteur d’écran
 

Pièces jointes

  • Capture d’écran 2024-12-27 113605.png
    Capture d’écran 2024-12-27 113605.png
    27.3 KB · Affichages: 13
Alors même cause, même conséquence
Votre version ne connait pas la fonction NO.SEMAINE.ISO
Il suffit alors de faire un chercher NO.SEMAINE.ISO/remplacer par IsoWeekNum
Dans ce fichier ça sera Ok
P.
Exemple ici en J4
Regarde la pièce jointe 1209933
il n'y a pas de de fonction NO.SEMAINE.ISO, la formule est deja comme sur votre exemple.
 

Pièces jointes

  • Capture d’écran 2024-12-27 154251.png
    Capture d’écran 2024-12-27 154251.png
    54.4 KB · Affichages: 8
Alors, pas tout à fait ...
Du fait de votre version d'excel la fonction NO.SEMAINE.ISO a été remplacée par l'expression _xlfn.ISOWEEKNUM
Pour vous le préfixe _xlfn. "de trop" (le point à la fin y compris) est à supprimer pour ne garder que IsoWeeknum
Ceci dit, et si vous le pouvez, il serait grand temps de changer de version pour un Excel plus récent ... si vous le pouvez ...
 

Pièces jointes

Bonjour à tous et bonne de fin d'année

Pour le numéro de semaine une solution
VB:
Sub Numéro_Semaine()
Dim N$
N = Format(Now, "ww", vbMonday, vbFirstFourDays)
MsgBox N
End Sub

Je suis sous Excel2007, autrement Excel365
il suffit de modifier la date.

Salutation
 
Bonjour à tous et bonne de fin d'année

Pour le numéro de semaine une solution
VB:
Sub Numéro_Semaine()
Dim N$
N = Format(Now, "ww", vbMonday, vbFirstFourDays)
MsgBox N
End Sub

Je suis sous Excel2007, autrement Excel365
il suffit de modifier la date.

Salutation
Bonjour Viard,
Alors oui ... mais non.
Avec votre code la date du 31/12/2007 donne la semaine 53 alors que la semaine ISO de cette date est 1
Même effet pour le 31/12/2035, et d'autres valeurs => num semaine non ISO
Votre code n'est donc pas sûr à 100% pour de l'ISO
Le code contenu dans le fichier que je propose donne une numérotation ISO correcte
P.
 
Bonjour @Snake53, @p56 et à tous

Concernant le N° de semaine une solution par fonction.

VB:
Function lenosem(LaDate As Date) As Variant
    For n = CDate("01/01/" & Year(LaDate)) To CDate("07/01/" & Year(LaDate))
      If Weekday(n) = 5 Then pRe = n - 3
    Next n
      lenosem = Int((LaDate - pRe) / 7) + 1
      If lenosem = 53 And Weekday("31/12/" & Year(LaDate)) < 5 Then lenosem = "1 de " & Year(LaDate) + 1
      If lenosem = 0 Then lenosem = lenosem(LaDate - 1)
End Function
=======================
Sub Numéro_Semaine2() 'Test
Dim Dat As Date
Dat = Cells(10, 1).Value 'date testée en "A10"
Cells(10, 2).Value = lenosem(Dat) 'N° semaine en "B10"
End Sub
=======================

Bonne fête à tous
Cordialement
 
- 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

  • Question Question
Microsoft 365 Planning securite
Réponses
24
Affichages
2 K
Réponses
20
Affichages
6 K
Réponses
4
Affichages
529
Réponses
2
Affichages
3 K
Retour