Gestion du personnel

Bonjour à tous,

je me permet de faire appel à votre aide pour trouver une solution à mon (dans la mesure du possible ^^).

Dans le fichier joint, j'ai deux feuilles excel, la première est une base de données de salariés et la seconde un tableau de bord d'un salarié choisi via une liste déroulante (B4).

Mon probleme est le suivant :

  • dans ma base de données j'ai une colonne avec la date de naissance de chaque enfant du salarié
  • les salariés ayant des enfants à charge agés de moins de 12 ans ou 16 ans bénéficient d'avantage

je cherche donc à calculer l'âge actuel de chaque enfant et s'il a - 12 ans il est compté dans la cellule F8 et si c'est moins de 16 ans, dans la cellule D8.

Le probleme est que les salariés n'ont pas tous le meme nombre d'enfant, j'avais donc pensé à faire une boucle sur les lignes du salarié choisi (B4) jusqu'à ce que la cellule suivante soit vide. Mais je n'arrive pas à trouver la référence de la ligne pour pouvoir faire ma boucle sur les colonnes.

Sub enfant()

Dim nb_enfant_16ans, nb_enfant_12ans, i As Integer

i = 0

While Cells(2, 6 + i) <> ""

If (Year(Now) - Worksheets("donnes").Cells(2, 6 + i)) >= 12 Then

nb_enfant_12ans = nb_enfant_12ans + 1

Else

If (Year(Now) - Worksheets("donnees").Cells(2, 6 + i)) < 16 Then

nb_enfant_16ans = nb_enfant_16ans + 1

End If

End If

i = i + 1

Wend

Worksheets("salarie").Range("F8") = nb_enfant_12ans

Worksheets("salarie").Range("D8") = nb_enfant_16ans

End Sub

Voilà ce que j'ai commencé à écrire mais sans succès, sachant que là j'ai précisé la ligne directement pour essayer d’écrire la suite mais rien ne semble vouloir fonctionner.

Si vous avez des solutions possibles je suis preneur, ça me permettra d'un peu mieux comprendre le VBA !

J'espère avoir été suffisamment clair, auquel cas n'hésitez pas à me poser des questions !

Merci d'avance.

Cordialement Grejk.

Bonjour,

Dans ton premier If, donnes devrait être donnees.

Gelinotte

Bonjour,

effectivement je n'avais pas fais attention, c'est corrigé, mais le programme ne fonctionne toujours pas

Bonjour,

Un tout petit rien à corriger à part le e manquant.

Au lancement de la macro, on est sur la feuille "salarie" et les données doivent être lues sur la feuille "donnees".

Pour ne pas avoir à corriger tout le code, j'ai simplement ajouté au début de sélectionner la feuille "donnees".

Puis à la fin, le retour sur la feuille "salarie".

S'il y a autre chose ....

Gelinotte

Bonjour,

Voici la version où il n'y a pas de changement de feuille ...

Gelinotte

J'ai finalement réussi à le faire fonctionner comme je le désirais.

Par contre je n'arrive pas à trouver comment marquer le sujet comme résolu ou clos :/

Rechercher des sujets similaires à "gestion personnel"