Problème sur l'édition d'une nouvelle année pour les congés

Fermé
Messages postés
352
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
16 janvier 2022
-
Messages postés
16203
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
25 janvier 2022
-
Bonjour,

Dans le cadre de la nouvelle année, la base de données qui gère les congés des agents de l'entreprise où je fais mon apprentissage doit être renouvelé comme tous les ans avec un bouton "Nouvelle année". Or, cette année, cette commande ne fonctionne pas. Dans un premier temps, j'ai ouvert en mode création le bouton, dans l'onglet "Données", le bouton n'était pas activé. Après l'avoir activé et avoir cliqué sur Nouvelle année, il attendait que je lui renseigner deux paramètres. J'ai supprimé ces 2 paramètres dans le code VBA (ma collègue m'ayant dit qu'elle ne rentre jamais rien généralement).

Private Sub Test_Click()
DoCmd.SetWarnings False
DoCmd.OpenQuery "Récapitulatif"
Dim MaBD As Database, MaTable As Recordset, MaTable1 As Recordset
Set MaBD = DBEngine.Workspaces(0).Databases(0)
Set MaTable = MaBD.OpenRecordset("Agents", DB_OPEN_TABLE)
Set MaTable1 = MaBD.OpenRecordset("Etat récapitulatif", DB_OPEN_TABLE)
MaTable.MoveFirst
Annarch = DatePart("yyyy", MaTable![Date_arch])
Anndate = DatePart("yyyy", Date)
If Annarch = Anndate Then
msg = "L'opération de début d'année a déjà été effectuée."
MsgBox msg
GoTo fin3
End If
Do Until MaTable.EOF
nbann = 0
MaTable1.MoveFirst
Do Until MaTable1.EOF
If MaTable![Num_agent] = MaTable1![Num_agent] Then
nbann = MaTable1![Nbre_jour] + (MaTable1![SommeDeNbre_jour1] - MaTable1![SommeDeNbre_jour2])
MaTable.Edit
MaTable![Nbre_jour] = nbann
MaTable![C_annuel] = 0#
MaTable![C_hiver] = 0#
MaTable![C_HP] = 0#
MaTable![Nouv_agent] = 0
MaTable![Date_arch] = Date
MaTable.Update
End If
MaTable1.MoveNext
Loop
MaTable.MoveNext
Loop
msg = "L'opération de début d'année a été effectuée !!!"
MsgBox msg
fin3:
MaTable1.Close
MaTable.Close
MaBD.Close
End Sub

Désormais le message "L'opération de début d'année a été effectuée !!!", s'affiche bien mais quand j'édite une fiche de congé, il n'y a pas un trait qui sépare l'année précédente de la nouvelle année.

Merci d'avance pour vos réponses, j'avoue que je suis pas très doué en programmation, mais là je vois pas trop car le code à l'air pas mal.

1 réponse

Messages postés
16203
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
25 janvier 2022
1 579
Bonjour,

Pourquoi voulez vous qu'il y ait un trait entre les deux annees ?????
Le code ne fait qu'initialiser des champs de tables

quand j'édite une fiche de congé, Avec quoi ????
Messages postés
352
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
16 janvier 2022
36
Ma collègue qui gère les congés me disait que quand elle cliquait sur Nouvelle année, un trait séparait l'ancienne année et la nouvelle année, et les soldes étaient à 0.
En effet, le code initialise les champs des tables.

J'édite une fiche de congés sur mon formulaire "Menu Général" qui me permet entre autre de cliquer sur le bouton Nouvelle année, de gérer les congés, les agents ayant droit au congés ... etc
Messages postés
16203
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
25 janvier 2022
1 579
Re,

Vu de mon cote, si avec le changement de cette annee (2014) il n'y a pas de "trait", c'est qu'il n'y en a jamais eu ou quelqu'un modifie quelque chose entre temps. Regardez dans le code formulaire "Menu Général" ,si par hazard il y a du code

A+
Messages postés
352
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
16 janvier 2022
36
Le menu général ressemble à ça, ce sera peut-plus clair pour vous:
https://www.cjoint.com/?3AEnEqKNV7z
Messages postés
16203
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
25 janvier 2022
1 579
Re,

Oui, il y a :
soit du code VBA, soit des macros incorporees "derriere" les boutons. Clic droit sur un des boutons, propriete, evenements pour voir ou plus simple pour le VBA: appuyez sur alt+F11 pour ouvrir le VBA et double clic sur formulaire "Menu Général" en haut a gauche.
Messages postés
352
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
16 janvier 2022
36
En faisant alt f11, j'ai bien toutes les procédures événementielles qui sont sur le menu général dont celle qui concerne le bouton "Nouvelle année" activable par un clic de souris (dans les propriétés du bouton, la procédure est bien sur le clic de souris, pas de problème de ce côté là).