code "recherche" en bva

  • Initiateur de la discussion Initiateur de la discussion pascal21
  • Date de début Date de début

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 !

pascal21

XLDnaute Barbatruc
bonjour le forum
je suis à la recherche d'un code qui me permettrais d'inserer une ligne "bonus" dans un tableau qui recense des évennements "malus et bonus"
des employés
j'aimerais lorsque qu'un employé n'a pas d'évennements "malus depuis + de 3 mois qu'un bonus lui soit accordé
j'ai fais une demande similaire il y a quelques temps mais qui ne convient plus pour ce type de tableau
les évennements "bonus" ne rentrent pas en compte dans la recherche
avez-vous une idée pour réaliser cela
je vous joint un bout du classeur
merci
 

Pièces jointes

Re : code "recherche" en bva

j'ai changé les dates pour tester le code
si je mets es dates recentes (10/6/8) par exemple et bien il donne un bonus quand même (trop généreux le code)

Je suis pas a l aise avec les date donc je géré des date avec 2 format différent , premiere fois que je fais face a des date en VBA .... tu m exucuses 🙂

je me suis rattrapé !

Code:
 Sub cartman_bis()
bonus = 30
today = Now()
fin = Range("B65536").End(xlUp).Row
tmp_fin = fin + 1
For i = 2 To fin
    'on regarde cellule malus de la ligne i est vide
    If Cells(i, 6) = 0 And Cells(i, 3) <> 0 And Cells(i, 5) = 0 And Cells(i, 1) = 0 Then
        test = DateAdd("d", 90, Cells(i, 2))
        If test < today Then
            Cells(tmp_fin, 5) = bonus
            Cells(tmp_fin, 2) = today
            Cells(tmp_fin, 3) = Cells(i, 3)
            tmp_fin = tmp_fin + 1
            nom = Cells(i, 3) & " a eu un jolie bonus de " & bonus
            'ici tu peux mettre une message box avec le nom
            MsgBox nom
            'on rajoute une colonne bonus optenue
            Cells(i, 1) = "j ai eu mon bonus de " & bonus & "le " & today
        End If
    End If
Next i
End Sub

2 truc a voir:
-si il a eu un malus on lui file pas de bonus meme si la date dépasse 90 jours...
-peut il avoir un autre bonus 90 jours apre l acquisition du premier bonus??

PS : je veux un gros bonus 🙂
 

Pièces jointes

Dernière édition:
Re : code "recherche" en bva

bonjour suistrop
dans la logique toute période de 90 jours apporte son bonus
si pour le même employé il y a un malus le 2/1/08 et ensuite un autre le 6/3/8
il va sans dire que pour la date 2/1/08 il ne peut y avoir bonus 90 jours car (période trop courte avant le prochain "malus" )plus tard sachant que ce fichier sera ouvert au moins une fois par mois je compte mettre cette macro sur workbook open
mais bon mais ça ne change rien au problème
voilà comment je vois le truc
le classeur est ouvert, la macro regarde si il y des périodes de 90 jours sans "malus" pour chaque employé
je pense que le mieux serait que la macro commence à analyser les lignes en commençant par le bas du tableau
de cette façon, elle s'arrête sur la 1ere date trouvée (en partant du bas) si elle à plus de 90 jours alors "bonus"
normalement avec une ouverture fréquente du tableau on ne devrait pas déclencher la macro sur des dates vieilles de plus de 4, 5 ou 6 mois
pffffff je vois bien ce que j'aimerais avoir mais je n'arrive pas à le transposer sur le papier
 
- 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

P
  • Question Question
Réponses
6
Affichages
765
D
Réponses
4
Affichages
1 K
A
Réponses
11
Affichages
2 K
A
M
Réponses
12
Affichages
3 K
pinpon13
P
S
Réponses
6
Affichages
1 K
ShadowDream
S
Retour