XL 2010 créer un registre d'appel numerique

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 !

ATHE RIOVELI

XLDnaute Occasionnel
Bonjour le Forum,
Tout d'abord, je vous présente toutes mes excuses pour ce long moment d'absence due à mon état de santé très fragile.
Je viens vers vous, une fois de plus, afin vous m'aidiez à concevoir à l'aide de macros, un cahier d'appels numérique.
je vous explique le principe :
En côte d'ivoire, l'année scolaire est divisée en 3 trimestres.
Pour chaque semaine, on fait le point des heures d'absences des élèves jusqu'à la fin du trimestre.
La lettre "A" inscrite dans une cellule du registre indique que l'élève est absent.
Lorsque ce dernier est présent, la cellule est vide.
Chaque trimestre dure en moyenne 3 mois. Le premier débute en septembre.
Voici ici joint, un exemple pour une semaine de cours.
 

Pièces jointes

BONSOIR job75,
Ok ce fichier est parfait.
Je suis vraiment déçu que décidez d’arrêter là.
Il ne reste vraiment plus grand chose.
L'objectif final de ce registre est de calculer la moyenne de conduite des apprenants ( les élèves).
Alors je vous demande juste une avant dernière chose.
Regarder ce fichier , je souhaite que, les noms des élèves saisis se retrouvent automatiquement au niveau des feuilles trim 1 trim2 , trim 3 et bilan.
Le reste je vais essayer.
MERCI pour votre compréhension.
A+
 

Pièces jointes

Bonsoir ATHE RIOVELI,

C'est vrai que ce n'est apparemment vraiment pas grand chose, voyez ce fichier (7) et le code :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [D2,F2]) Is Nothing Then Exit Sub
[Date_debut] = [D2]: [Date_fin] = [F2] 'pour le calcul des heures d'absence
[A13:B13].Resize(100) = Feuil1.[A15:B15].Resize(100).Value
[C13].Resize(100) = [Date_debut].Offset(4).Resize(100).Value
End Sub
Il faudrait en fait des choses bien plus compliquées, mais aucune envie de m'y plonger.

A+
 

Pièces jointes

Dernière édition:
RE BONSOIR job75,
Ce que vous avez fait est parfait, vous avez même ajouté des éléments sur les feuilles trim1, trim2 et trim3.
S'ils vous plait, encore un soucis :
lorsque j'entre des noms sur la première feuille, les noms ne sont pas automatiquement reportés au niveau de trim1, trim2, trim3 et bilan. il faut pourtant que cela soit pour éviter que les éducateurs saisissent à chaque les noms pour un trimestre quelconque.
s'ils vous plait, régler d'abord ce problème.
MERCI
A+
 
Bonjour ATHE RIOVELI,

Il serait facile de mettre à jour les feuilles des trimestres chaque fois qu'on les active en y ajoutant :
Code:
Private Sub Worksheet_Activate()
Worksheet_Change [D2]
End Sub
Mais vous n'avez pas compris qu'alors les entrées manuelles en colonnes D:H du tableau ne seront plus forcément sur les lignes des noms d'origine puisque le tableau source est trié.

Pour cette raison les dates du trimestre (D2 et F2) ne doivent être entrées qu'une seule fois, à la fin du trimestre, quand on est sûr que toutes les absences ont bien été entrées dans le tableau source.

Bonne journée.
 
Re,

Si vous tenez à ce que les feuilles des trimestres soient mises à jour on peut éventuellement utiliser :
Code:
Private Sub Worksheet_Activate()
Dim i%
[Date_debut] = [D2]: [Date_fin] = [F2] 'pour le calcul des heures d'absence
If Application.Sum([D13.F13].Resize(100)) Then
  For i = 1 To 100
    If Feuil1.Cells(i + 14, 2) <> Cells(i + 12, 2) Or [Date_debut].Offset(i + 3) <> Cells(i + 12, 3) Then _
      If MsgBox("Attention la feuille source a été modifiée, faut-il vraiment mettre à jour le trimestre ?", 4) = 6 _
        Then Exit For Else Exit Sub
  Next
End If
[A13:B13].Resize(100) = Feuil1.[A15:B15].Resize(100).Value
[C13].Resize(100) = [Date_debut].Offset(4).Resize(100).Value
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [D2,F2]) Is Nothing Then Worksheet_Activate
End Sub
Fichier (8).

A+
 

Pièces jointes

Dernière édition:
BONSOIR job75,
MERCI pour cette précision.
Seulement, les utilisateurs de ce fichier sont des personnes qui n'ont pas grande connaissance en informatique.
C'est donc pour cela que je souhaiterai qu'on mette à leur disposition un fichier avec lequel ils n'auront pas à fournir assez d'efforts.
Je souhaiterais que vous pussiez vous mettre dans la peau d'un novice en informatique qui utilise ce fichier.
A la rentrée scolaire nous avons une liste de la classe. Ce sont les noms de cette liste que nous devons entrer dans la première feuille; ces noms devront aussi se retrouver automatiquement dans les feuilles trim et bilan.
C'est ce je vous demande pour le moment afin de pouvoir avancer.
MERCI
A+
 
- 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

Retour