XL 2016 Impression automatiser

Seddiki_adz

XLDnaute Impliqué
Bonsoir
si possible imprimer tout les mois auto son changer manuellement les mois dans la cellule C2 ?
Merci
 

Pièces jointes

  • impression.xlsm
    132.2 KB · Affichages: 9
Solution
Bonjour à toutes & à tous, bonjour @Seddiki_adz
Voilà ce que j'ai fait : Je suis resté sur la feuille Récap telle qu'elle était. et j'ai procédé par sélection par Nom du prof, mois, semaine, jour de semaine avec formules et formats conditionnels pour aider à la sélection et gestion de l'événement Worksheet_Change de la feuille Récap.
1651492789665.png


1651492808696.png

1651492829713.png

1651492851535.png

1651493321921.png


Des messages d'avertissement suivant la situation peuvent s'afficher ligne 12.
Cellules ou noms définis impliqués :
AdresseNomParticularité
$D$7Sél_ProfValidation de...

Seddiki_adz

XLDnaute Impliqué
Bonjour à toutes & à tous, bonjour @Seddiki_adz
Voilà ce que j'ai fait : Je suis resté sur la feuille Récap telle qu'elle était. et j'ai procédé par sélection par Nom du prof, mois, semaine, jour de semaine avec formules et formats conditionnels pour aider à la sélection et gestion de l'événement Worksheet_Change de la feuille Récap.
Regarde la pièce jointe 1138468

Regarde la pièce jointe 1138469
Regarde la pièce jointe 1138470
Regarde la pièce jointe 1138471
Regarde la pièce jointe 1138475

Des messages d'avertissement suivant la situation peuvent s'afficher ligne 12.
Cellules ou noms définis impliqués :
AdresseNomParticularité
$D$7Sél_ProfValidation de donnée, liste =chx_Profs
$D$11Sél_MoisValidation de donnée, liste =chx_Mois
$E$11Sél_SemaineValidation de donnée, liste =chx_Semaines
$F$11Sél_JoursValidation de donnée, liste =chx_Jours
Ligne=EQUIV(justification!Sél_Mois&justification!Sél_Semaine&justification!Sél_Jour&justification!Sél_Prof;Récap[mois]&Récap[semaine]&Récap[jours]&Récap[profs];0)
$F$7Formule =SIERREUR(INDEX(_tb_Profs[Prénom];EQUIV($D$7;_tb_Profs[Nom];0));"")
$H$7Formule =SIERREUR(INDEX(_tb_Profs[Matière];EQUIV($D$7;_tb_Profs[Nom];0));"")
$D$10Formule =SI((Sél_Prof<>"")*(Sél_Mois="")*(GAUCHE(C12;12)<>"Pas de cours");"mois ?";"")
$E$10Formule =SI((Sél_Mois<>"")*(Sél_Semaine="")*(GAUCHE(C12;12)<>"Pas de cours");"semaine ?";"")
$F$10Formule =SI((Sél_Semaine<>"")*(Sél_Jour="")*(GAUCHE(C12;12)<>"Pas de cours");"jour ?";"")
$C$12Formule
=CHOISIR(NBVAL(Sél_Prof;Sél_Mois;Sél_Semaine;Sél_Jour)+1;
"Séléctionner un professeur";
SI(NB.SI.ENS(Récap[profs];Sél_Prof)=0;"Pas de cours pour le professeur " &Sél_Prof;"");
SI(NB.SI.ENS(Récap[profs];Sél_Prof;Récap[mois];Sél_Mois)=0;"Pas de cours pour le mois de "&Sél_Mois;"");
SI(NB.SI.ENS(Récap[profs];Sél_Prof;Récap[mois];Sél_Mois;Récap[semaine];Sél_Semaine)=0;"Pas de cours"&Sél_Semaine;"");
SI(NB.SI.ENS(Récap[profs];Sél_Prof;Récap[mois];Sél_Mois;Récap[semaine];Sél_Semaine;Récap[jours];Sél_Jour)=0;"Pas de cours "&Sél_Jour;""))
$C$14Formule =SIERREUR(SI(ESTVIDE(INDEX(INDIRECT("Récap["&C13&"]");Ligne));"";INDEX(INDIRECT("Récap["&C13&"]");Ligne));"")
D14; E14; F14; C16; D16; E16; F16; G16Recopier la formule de C14

Macro Worksheet_Change :
Enrichi (BBcode):
Private Sub Worksheet_Change(ByVal Target As Range)
   
     If Target.Count = 1 Then
          Nom = ""
          On Error Resume Next
          Nom = Target.Name
          On Error GoTo 0
          If Nom <> "" Then
               With Me
                    Application.EnableEvents = False
                    Select Case Target.Address
                         Case Is = Me.[Sél_Prof].Address
                              Union(.[Sél_Mois], .[Sél_Semaine], .[Sél_Jour]).ClearContents
                         Case Is = Me.[Sél_Mois].Address
                              Union(.[Sél_Semaine], .[Sél_Jour]).ClearContents
                         Case Is = Me.[Sél_Semaine].Address
                              .[Sél_Jour].ClearContents
                    End Select
                    Application.EnableEvents = True
               End With
          End If
     End If
   
End Sub

Voir la pièce jointe

Pour l'impression, je te laisse essayer de ton coté, tu as déjà au moins un exemple ...

Amicalement
Alain
Merci
 

AtTheOne

XLDnaute Impliqué
Supporter XLD
Bonne nuit à toutes & à tous, bonne nuit @Seddiki_adz
Voici une nouvelle version avec saisie de la date pour l'onglet "justificatif". (les informations Mois/Semaine/Jour sont déduites (la semaine 1 du mois est celle qui contient le 1er du mois et elle commence le dimanche -il peut y avoir des semaines 1 ne comptant qu'un jour : le samedi 1er- )
  • J'ai ajouté la date en colonne 1 pour tous les mois et la Récap.
  • J'ai ajouté une table pour les 2 années civiles de l'année scolaire
  • J'ai créé une macro à lancer par un bouton pour préremplir toutes les dates d'un mois, je pense que c'est plus facile de supprimer les dates inutiles que de saisir toutes celles qui conviennent)
Bon je m'en tiens là et je vais faire dodo
Amicalement
Alain
🥱😴
 

Pièces jointes

  • Projet Suivi Cours -3-.xlsm
    298.5 KB · Affichages: 1
Dernière édition:

Seddiki_adz

XLDnaute Impliqué
Bonne nuit à toutes & à tous, bonne nuit @Seddiki_adz
Voici une nouvelle version avec saisie de la date pour l'onglet "justificatif". (les informations Mois/Semaine/Jour sont déduites (la semaine 1 du mois est celle qui contient le 1er du mois et elle commence le dimanche -il peut y avoir des semaines 1 ne comptant qu'un jour : le samedi 1er- )
  • J'ai ajouté la date en colonne 1 pour tous les mois et la Récap.
  • J'ai ajouté une table pour les 2 années civiles de l'année scolaire
  • J'ai créé une macro à lancer par un bouton pour préremplir tous les dates d'un mois, je pense que c'est plus facile de supprimer les dates inutiles que de saisir toutes celles qui conviennent)
Bon je m'en tiens là et je vais faire dodo
Amicalement
Alain
🥱😴
Merci
bonne nuit
 

Discussions similaires

Réponses
9
Affichages
135

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote