Fichier de congés - VBA

Bonjour à tous,

Avec des collègues nous avons modifier fichier de congés sur lequel nous avons réussi à créer un UseForm (qui se lance directement à l'ouverture ou en cliquant sur le bouton "saisir un congé").

En remplissant ce formulaire, le UseForm complète l'onglet 'Saisie' qui alimente lui même l'onglet planning (à terme l'onglet saisie sera verrouillé voir masqué). Cependant nous aimerions y apporter les modifications suivantes :

1) Au lieu de faire apparaître un "1" dans le planning aux dates d'absences, est-ce possible de faire apparaître une lettre : C si le motif est congés, F pour le motif Formation, R pour Récup et enfin M pour Maladie (voir la liste des motifs dans l'onglet "listes" et/ou colonne D dans l'onglet "saisie").

2) S'il s'agit d'une demie journée (Vrai dans la colonne E onglet "saisie") est-ce possible de faire apparaître à côté de la lettre un "1/2" en indice ?... Exemple : "C1/2" ou "F1/2) (ça serait parfait...)

3) Enfin, j'aimerai ajouter un bouton "annulation de congé", pour qu'un collaborateur puisse retirer une ou des journées d'absence précédemment posées. Il peut ressembler exactement au formulaire "Saisir un congé" avec les dates existantes mentionnées et soit supprimer la ligne concerné dans "Saisie" soit en ajouter une qui annule la précédente (un peu du type 1-1=0).

Avez vous des solutions ?...

Merci infiniment pour votre aide !

Bonjour et bienvenue sur le forum,

Sur le point n°3, qu'entends-tu par là? On supprime les données dans la feuille saisie?

3) Enfin, j'aimerai ajouter un bouton "annulation de congé", pour qu'un collaborateur puisse retirer une ou des journées d'absence précédemment posées. Il peut ressembler exactement au formulaire "Saisir un congé" avec les dates existantes mentionnées et soit supprimer la ligne concerné dans "Saisie" soit en ajouter une qui annule la précédente (un peu du type 1-1=0).

Pour les points 1 et 2 regarde les modifications que j'ai apportées.

Attention au lieu de vrai ou faux pour les demi-journées, j'ai mis 1 pour une journée et 1/2 pour une demi-journée.

Cordialement

Bonjour et merci !!

Pour les points 1 et 2 c'est parfait merci encore !

En fait, j'aimerai pouvoir ajouter un UseForm comme le "saisir un congés" mais pour l'annuler... L'idée serait de pouvoir sélectionner son nom dans une liste déroulante et ensuite de sélectionner un planning précédemment saisi pour pouvoir l'annuler (et donc qu'il disparaisse du "planning")... Du coup forcément, l'onglet "saisie" doit être impacté (un peu comme pour la 1/2 journée et sa colonne mais au lieu de faire apparaître un 1/2, faire disparaitre l'absence du planning).

En tout cas, c'est vraiment top le résultat là !

Merci et bonne semaine,

Cordialement,

Bonsoir,

Je regarde ce que je peux faire pour le point 3

Cordialement

me voilà de retour.

J'ai une bonne et une mauvaise nouvelle. Par laquelle je commence?

On va commencer par la bonne.

Le point n°3 est solutionné.

La mauvaise nouvelle maintenant. En créant de nouvelles dates sous le même nom, je me suis aperçu que la formule proposée hier ne fonctionne pas.

Pas cool. Ca fait un petit moment que je cherche sans y parvenir.

Je pense que tu devrais relancer un nouveau fil.

A moins qu'un costaud passe sur ce message et nous donne un coup de main. Pour ma part je suis sec.

Bonne continuation.

Cordialement

Bonjour à tous,

Je me permet de poster ici ma version de gestion des congés avec une visualisation de planning "flottante" sur l'année complète.

Le doc word (à coller dans le même dossier que le xlsm) permet d'éditer des fiches récapitulatives pour chaque salarié.

Ça pourrait peut être convenir au besoin?

Pierre

385conges-v4c.xlsm (147.92 Ko)
192fiche-salarie.docx (17.14 Ko)

Bonsoir à vous,

Merci ddetp88 c'est top !!! De mon côté je n'ai pas le problème, je peux créer de nouvelles absences avec des noms déjà présents dans le fichier... Étrange !

En revanche, le problème qui se pose c'est la formule en colonne A (onglet planning)... Car elle se fixe par rapport au mois saisi en cellule N2 (janvier en l’occurrence) et pas aux 6 mois du semestre... Conséquence : si 'Dupont9' pose uniquement des congés après janvier (ex : en mars), rien n'apparaîtra (dans la position actuelle) en mars. pour voir son congé de Mars, il faut modifier le mois indiqué en N2 (y mettre mars si on reprends l'exemple). Dans ce cas, l'intitulé N2 Janvier devient Mars et on peut visualiser ces congés... Ce que je souhaiterai c'est ne plus toucher à N2, et voir apparaître les congés des 6 mois directement sur l'ensemble du planning S1...

Vous avez la solution ?... Sinon en effet je lancerai un nouveau fil !

pierrep56 : merci pour ta contribution, je vais m'y pencher et sans doute y prendre de très bonnes idées ! Le fichier est complet et... impressionnant

Encore merci à vous,

Bonjour,

Je pense qu'il est préférable que tu relances un nouveau fil.

En revanche, j'ai du mal à croire que le point 2 fonctionne chez toi.

Remplace le code du module 1 par le suivant si tu utilises l'userform qui sert à saisir les congés.

Le voici:

Sub Saisir_Conges()

    Dim numLigne As Integer
    FormSaisieConges.Show

    With Worksheets("Saisie")

        numLigne = .Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row + 1

        .Cells(numLigne, 1).Value = NvConge_Nom

        .Cells(numLigne, 2).NumberFormat = "dd/mm/yyyy"
        .Cells(numLigne, 2).Value = ConvertDate(NvConge_DateDebut)

        .Cells(numLigne, 3).NumberFormat = "dd/mm/yyyy"
        .Cells(numLigne, 3).Value = ConvertDate(NvConge_DateFin)

        .Cells(numLigne, 4).Value = NvConge_Motif
        'teste la case à cocher
        If NvConge_DemiJournee = False Then
            .Cells(numLigne, 5).Value = 1
        Else
            .Cells(numLigne, 5).Value = "1/2"
        End If

    End With

    End
End Sub

Bonne continuation

Cordialement

Merci pour votre aide en tout cas, c'est génial et ça m'a bien aidé !! 8)

Je vais étudier ça pour le point 2 et si besoin je vais voir pour faire un nouveau fil ! Mais enfin il est comme inversé... Il faut également que je vois pour prendre en compte l'ensemble des mois du semestre sur le planning et pas afficher uniquement les congés de janvier...

A très bientôt,

Rechercher des sujets similaires à "fichier conges vba"