Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Calendrier : Choisir et afficher les jours non travaillés

  • Initiateur de la discussion Initiateur de la discussion leakim
  • 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 !

leakim

XLDnaute Occasionnel
Bonjour,
Je viens vers vous pour une demande pour du VBA. Je commence à comprendre mais pas capable d'écrire, j'avance dans la formation, mais pas à ce point...
Je joins un fichier qui avance...merci Banzai et CHALET53... auquel j'aimerai ajouter une option afin que les personnes renseignent les jours non travaillés.
Je parviens à le faire avec des formules et des cases à cocher, je suis content, mais dès que je touche à une case la formule est écrasée et la MFC se barre en courant... C'est pourquoi le VBA

Merci à qui voudra bien se pencher sur mon projet.

Cordialement,
Leakim
 

Pièces jointes

Re : Calendrier : Choisir et afficher les jours non travaillés

Bonjour,

à tester...

Par contre sur une suppression on ne peut pas rétablir les JTN puisque la liste n'est stockée nulle part.
Je me demande si tu ne devrais pas supprimer ta boite de dialogue et mettre la liste à cocher sur la feuille (voir E1:E5).
Tu peux cocher par double-clic.
Si tu es ok et que tu n'y arrives pas ça sera pour ce soir pour moi...

Et sur le même sujet je suppose que si tu mets les JTN et qu'il y a CP ou CT dans une cellule il faut conserver. Tu ne l'avais pas dit...

eric
 

Pièces jointes

Dernière édition:
Re : Calendrier : Choisir et afficher les jours non travaillés

Bonjour eriiic,
C'est vraiment super.
Je trouve ta proposition est intéressante. Si j'ai bien compris si en E3 (mercredi) j'ai coché alors tous les mercredis se mettent en JNT, si je décoche ils redeviennent vide !?!
Donc si je mets une semaine de CP, que je modifie. La semaine sera alors vierge... Si je décoche et recoche, le mercredi se rétablirait.

Par contre comme te le dis :Et sur le même sujet je suppose que si tu mets les JTN et qu'il y a CP ou CT dans une cellule il faut conserver. Tu ne l'avais pas dit... Tu as raison si les semaines du lundi au samedi de CP et CT sont posées il ne faudrait pas que cela soit changé.

Je veux bien ta proposition, j'essais de mon coté... mais j'étais passé par une combo-box que j'ai récupéré sur ce forum, parce que je ne sais pas faire autrement, à ce jour.

Merci d'avance, à ce soir.

Leakim
 
Dernière édition:
Re : Calendrier : Choisir et afficher les jours non travaillés

Re,

Si j'ai bien compris si en E3 (mercredi) j'ai coché alors tous les mercredis se mettent en JNT, si je décoche ils redeviennent vide !?!
Voilà, j'ai ajouté cette gestion.
Donc si tu coches, les JNT se mettent, sauf sur les CT-CP comme demandé.
Si tu décoches ça redevient vierge.
Par contre si tu avais un REC un mardi et que tu coches mardi, le REC est définitivement perdu car remplacé par le JNT.
Dans ce cas en cas d'erreur, quitter sans enregistrer pour revenir à la situation initiale. Mais bon pas de raison qu'ils changent leurs JNT tous les jours. Je suppose que ça doit être très ponctuel.

Par ailleurs j'ai changé le mode d'affectation des congés :
Je n'écrase plus aucun congés quel qu'il soit. Si la personne désire remplacer des REC par des CT elle doit d'abord supprimer l'existant. Je trouve ça plus logique et plus sécurisant, surtout avec la possibilité de modifier de grandes plages.
Si tu préfères revenir à ce que tu avais c'est rapide de modifier. Tu dis.

A tester donc...
eric
 

Pièces jointes

Re : Calendrier : Choisir et afficher les jours non travaillés

Bonsoir et merci à nouveau c'est vraiment super...


Je suis d'accord avec cette sécurité, sauf que si, après avoir coché le ou les JNT je pose une semaine de CP et bien le JNT ne se supprime pas... Alors je voulais le supprimer isolément et là pas possible de supprimer un JNT si il correspond au jour dans la plage JNT.

Tu me dis de te dire... alors voici je pense ma dernière demande.

Cordialement,
Leakim
 
Dernière édition:
Re : Calendrier : Choisir et afficher les jours non travaillés

Ok j'ai trouvé... Tu as même mis des commentaires !!!

Je constate que lorsque je génère mon calendrier via la toupie, la macro rame...

Je croyais que :

Application.ScreenUpdating = False

devait y remédier ???


Leakim

C'est OK aussi !!!

Merci beaucoup pour cette réalisation, qui va au delà de mes espérances. Je vais pouvoir en faire des heureux avec cet outil... Merci pour eux aussi 😱
Cordialement,
Leakim
 
Dernière édition:
Re : Calendrier : Choisir et afficher les jours non travaillés

Bonjour c'est le fait de pouvoir inscrire dans la combobox le type de congé?
C'est Top!!!

Je me demandais si ce serait compliqué d'inscrire le numéro de semaine à droite de chaque lundi lorsque le calendrier est généré ?
Est-ce que je dois refaire un post ?

Si tu as d'autre proposition... n'hésites pas!

A me redire, ce que je dois faire pour le n° de semaine.

Cordialement,
Leakim
 
Re : Calendrier : Choisir et afficher les jours non travaillés

bonjour, j'ai trouvé sur le forum
Code:
Sub numSEM()

For Ligne = .Range("K" & Cells.Rows.Count).End(xlUp).Row To 1 Step -1
            If .Cells(Ligne, 1) <> "" Then
            .Range("K" & Ligne).Value = NoSemaineISO(Range("A" & Ligne))
           
             
End Sub

Function NoSemaineISO(d As Date) As Integer
    NoSemaineISO = Format(d, "ww", vbMonday, vbFirstFourDays)
End Function

Je ne sais pas si c'est quelque chose d'exploitable à placer dans la table CHOIX à droite de vbmonday

Je continu et en attendant.

Leakim
 
Re : Calendrier : Choisir et afficher les jours non travaillés

Re,

Bonjour c'est le fait de pouvoir inscrire dans la combobox le type de congé?
C'est surtout la correction de :
Je suis d'accord avec cette sécurité, sauf que si, après avoir coché le ou les JNT je pose une semaine de CP et bien le JNT ne se supprime pas... Alors je voulais le supprimer isolément et là pas possible de supprimer un JNT si il correspond au jour dans la plage JNT.

Function NoSemaineISO(d As Date) As Integer
NoSemaineISO = Format(d, "ww", vbMonday, vbFirstFourDays)
End Function

Il faut savoir que cette fonction retourne parfois une valeur erroné.
La prochaine a lieu fin 2019. Je te conseille plutôt :
Code:
Public Function IsoWeekNumber(ByVal d As Date) As Long
    ' philben : [url=http://blog.developpez.com/philben/p11066/vba-access/numero_iso_des_semaines]Numéro ISO des semaines | Philben – Ms Access[/url]
    Dim wd As Long
    wd = Weekday(d, vbMonday)
    IsoWeekNumber = Int((d - DateSerial(Year(d - wd + 4), 1, 1) - wd + 11) / 7)
End Function

eric
 
- 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

E
Réponses
10
Affichages
2 K
excelraideo
E
K
Réponses
19
Affichages
5 K
K
C
Réponses
5
Affichages
2 K
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…