Comment obliger les salarié à remplir certaine données [Résolu/Fermé]

Signaler
Messages postés
11
Date d'inscription
vendredi 27 octobre 2017
Statut
Membre
Dernière intervention
31 octobre 2017
-
Messages postés
11
Date d'inscription
vendredi 27 octobre 2017
Statut
Membre
Dernière intervention
31 octobre 2017
-
Bonjour,

J'ai fait une feuille de suivi des jours travaillés pour les salariés cadre au forfait jour.

Et je souhaiterais savoir comment faire pour obliger les salariés à remplir les trois listes déroulantes du bilan mensuel en bas de la page.

De plus s'il remplissent par non ils sont obligés de mettre le motif juste en dessous dans la case prévu à cet effet.

Si ces deux conditions ne sont pas respectées alors ils ne peuvent pas imprimer la page.

Cela est-il possible?

Je vous joins le fichier concerné

https://www.cjoint.com/c/GJEqHrieRXM

Merci d'avance à ceux qui pourront m'aider.

2 réponses

Messages postés
23898
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 février 2021
6 668
Bonjour,

à mettre dans thisworkbook :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Const msg  As String = "Impression annulée, bilan mensuel incomplet dans "
    Dim feuille As Worksheet
    
    For Each feuille In ThisWorkbook.Windows(1).SelectedSheets
        With feuille
            If .[A44] = "Bilan mensuel à remplir par le salarié :" Then
                If Application.CountA(Union(.[D47], .[A51], .[A55])) <> 3 Then
                    Cancel = True
                    MsgBox msg & feuille.Name
                    Exit Sub
                Else
                    If (LCase(.[D47] = "non") And .[B48] = "") Or (LCase(.[D51] = "non") And .[B52] = "") Or (LCase(.[D55] = "non") And .[B56] = "") Then
                        Cancel = True
                        MsgBox msg & feuille.Name
                        Exit Sub
                    End If
                End If
            End If
        End With
    Next feuille
End Sub 


J'ai prévu le contrôle de toutes les feuilles sélectionnées en cas de sélection multiple.
Par contre si le choix est imprimer tout le classeur ça sortira. J'ai supposé qu'il pouvait y avoir des feuilles prêtes d'avance et par conséquent non remplies.
Si besoin complète en testant toutes les feuilles.
eric
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
23898
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 février 2021
6 668
Bonjour,

Alt+F11 pour aller dans VBE.
Double-clic dans ThisWorkbook de ton projet et y coller le code.
eric
Messages postés
11
Date d'inscription
vendredi 27 octobre 2017
Statut
Membre
Dernière intervention
31 octobre 2017
>
Messages postés
23898
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 février 2021

Super merci beaucoup mon problème est résolu
Messages postés
11
Date d'inscription
vendredi 27 octobre 2017
Statut
Membre
Dernière intervention
31 octobre 2017
>
Messages postés
23898
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 février 2021

Re bonjour,

Au final je me rend compte que j'ai toujours un problème.

En effet si le salarié ne renseigne pas toutes les questions il peut quand même imprimer.
Je souhaiterais qu'il soit obligé de dire oui ou non dans chacune des questions (et si non obligé de mettre le motifs)

Actuellement s'il en rempli 1 ou 2 il peut imprimer alors qu'il doit être obligé de remplir les 3.

Merci
Messages postés
23898
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 février 2021
6 668
Bonjour,

Ah oui. Un oubli de modification suite à un copié-collé.
Remplace :
If Application.CountA(Union(.[D47], .[A51], .[A55])) <> 3 Then

par :
If Application.CountA(Range("D47,D51,D55")) <> 3 Then

qui est sur les bonnes cellules.
eric
Messages postés
11
Date d'inscription
vendredi 27 octobre 2017
Statut
Membre
Dernière intervention
31 octobre 2017
>
Messages postés
23898
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 février 2021

Super merci.

effectivement maintenant cela fonction au top.
Messages postés
53351
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
27 février 2021
15 367
Par expérience, je peux te garantir que la méthode de loin la plus efficace est de ne pas leur verser leur salaire tant que la fiche n'est pas correctement remplie : C'est radical ! Au bout de 2 mois de ce régime, les documents arrivent dans les délais, remplis, commentés et signés ...