Parseq
Messages postés5Date d'inscriptiondimanche 13 novembre 2011StatutMembreDernière intervention30 août 2012
-
30 août 2012 à 09:14
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
30 août 2012 à 12:08
Bonjour à tous,
Dans le cadre d'une école maternelle (mon amie est instit ), j'ai fait des lignes de code pour une activité du
matin des enfants, le comptage des absents et des présents.
Mon problème est le suivant en rajoutant la présence d'un élève tout se passe bien, mais en enlevant la présence d'un
élève (dans le cas ou l’élève sélectionne une 'case' déjà remplie et valide sans rien, le décompte ne se fait pas.????
MERCI
Voici les lignes :
Public present As Integer
Private Sub Form_Load()
present = 0
TITRE.Caption = UCase(Format(Date, "dddd - dd mmmm yyyy"))
End Sub
Private Sub Command_Click(Index As Integer)
Text(Index).Text = ""
Text(Index).SetFocus
End Sub
Private Sub Text_click(Index As Integer)
Text(Index).Text = ""
End Sub
Private Sub Text_KeyPress(Index As Integer, KeyAscii As Integer)
If KeyAscii = 13 Then
Text(Index).BackColor = RGB(0, 255, 0)
Command(Index).BackColor = RGB(0, 255, 0)
present = present + 1
TextFOCUS.SetFocus
Else
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End If
If KeyAscii 13 And Text(Index) "" Then
Text(Index).Text = "......"
Text(Index).BackColor = RGB(255, 0, 0)
Command(Index).BackColor = RGB(255, 0, 0)
present = present - 1
End If
End Sub
Private Sub PRESENTS_Click()
PRESENTS.Caption = "PRESENTS " & present
TextFOCUS.SetFocus
End Sub
Private Sub ABSENTS_Click()
ABSENTS.Caption = "ABSENTS " & 20 - present
TextFOCUS.SetFocus
End Sub
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 30 août 2012 à 11:11
Bonjour,
Tout cela me parait bien "tortueux" pour compter les présents et les absents.
Et je ne comprends pas :
dans le cas ou l'élève sélectionne une 'case' déjà remplie et valide sans rien
Ce sont les élèves, en maternelle, qui se "pointent" eux-mêmes sur le PC ? Euh ...
Pour être sérieux :
- on a une liste d'appel (une listbox fait l'affaire)
- on "appelle" les élèves un par un depuis cette listbox (article par article, en boucle)
- les présents étant en général beaucpoup plus nombreux que les absents, on se contente de recenser les absents. La liste et le comptage des deux catégories est toujours possible sur cette seule base.
Tu as là la base d'un mécanisme simple à mettre en oeuvre?.
Nul besoin de groupes de contrôles indexés !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 30 août 2012 à 11:59
Pour que tu comprennes ce que j'ai voulu dire par "tortueux" et que tu aies de meilleures idées ===>>
Regarde ce que ferait ce minuscule bout de code, sur un Form avec un bouton de commande et deux listboxes, tout bêtement :
Private Sub Command1_Click()
List1.Clear
List2.Clear
mes_eleves = Array("jacques", "Pierre", "Jean", "Paul", "Bernard")
For i = 0 To UBound(mes_eleves)
present = MsgBox(mes_eleves(i) & " est-il présent ?", vbYesNo)
If present = vbYes Then
List1.AddItem mes_eleves(i)
Else
List2.AddItem mes_eleves(i)
End If
Next
MsgBox "j'ai compté " & List1.ListCount & " élève(s) présent(s( et " & List2.ListCount & " élève(s( absent(s)" & vbCrLf & _
"si pas conforme : recliquer sur command1)"
End Sub
Ce n'est là qu'un exemple à cent sous boliviens. On pourrait même "faire" sans aucune listbox, en plus !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Parseq
Messages postés5Date d'inscriptiondimanche 13 novembre 2011StatutMembreDernière intervention30 août 2012 30 août 2012 à 12:04
En effet, j'ai crée des boutons (commandboutton) avec du texte devant juste pour un confort d'utilisation, parce-que certains élèves (les petits) doivent juste trouver (lire) et cliquer leur prénom (déjà affiché dans un gros bouton rouge) et d'autres élèves (les grands) doivent écrire leur prénom (dans un gros bouton rouge avec du texte devant "......")
donc l' élève clique sur le texte ou sur le bouton (indifféremment) et rentre son prénom, le bouton change de couleur et valide dans le total une présence en plus.
Mais si un élève par erreur ré-clique sur un bouton déjà validé et ne rentre pas son prénom (juste validation par entrée) le bouton rechange bien de couleur en rouge mais le décompte des présents ne se fait pas . ?????????
P.S. J'ai utilisé du texte devant le bouton pour centrer verticalement mon texte.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 30 août 2012 à 12:08
Ah ! Si ce sont les élèves eux-mêmes qui font l'appel, ma foi ...
Tu vas avoir des surprises (et pas uniquement à cause d'un code)
Un appel, c'est sérieux.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ