Bonjour.
Le faire en VBA est plus complique.
Il faut que tu tries tes donnees, puis que tu les parcoures ligne par ligne en notant au passage l'information qui t'intresse et que tu fasses le calcul.
Mais sinon, ce code que tu m'as proposé, qui me parait un peu du chinois pour le moment (pour rire...), ou est-ce que je dois le placer exactement? Je vais quand meme esseyer de le comprendre et tenter de faire ce que je peux avec...
Tu as raison l'expression est complexe.
Meme moi cela m'a pris du temps a l'ecrire et je savais ou je m'en allais.
Ca prend un peu de temps pour y penser mais rappelled-toi tu veux le salaire (DFirst) de la personne dont la date est juste avant (c'est DMax qui te donne cette date) celui que tu regardes.
- Tu crees une requete qui prend ta table des salaires.
- Tu selectionnes les champs qui t'intressent (cela devrait etre selon moi au moins ClefPersonne, DateSalaire, Salaire).
- Tu te mets dans une colonne vide et tu colles la formule que je t'ai donnee.
- Tu sauvegardes et tu demandes l'affichage.
Si tu veux la rendre un peu plus lisible tu peux la decouper en 2 champs calcules :
DateSalairePrecedent : DMax("DateSalaire"; "tblSalaire"; "[DateSalaire]<#" & format([tblSalaire].[DateSalaire]; "aaaa-mm-jj") & "# and [ClefPersonne]=" & [tblSalaire].[ClefPersonne])
SalairePrecedent : DFirst("Salaire"; "tblSalaire"; "[DateSalaire]=#" & Format([DateSalairePrecedent]; "aaaa-mm-jj") & "# and [ClefPersone]=" & [tblSalaire].[ClefPersonne])
Je m'etais trompe dans le format. J'ai corrige.
A+
Partager