resolu par JM 27 saisie des absences via userform

reinruof77

XLDnaute Occasionnel
Bonjour le forum

voila je souhaiterais pouvoir rentrer les abs de mes agents via un userform (déjà créer).

je voudrais rentrer 1dispo via cette userform au date et nom choisi dans l'onglet du moi sélectionner.

Presque tout est fait mais je ne trouve pas le moyen d'envoyer les info de mon UF sur ma feuille.

n'hésiter pas a me poser des question si besoin je reste connecter .

si joint mon fichier Test
Merci de votre aide
 

Pièces jointes

  • saisie ABS.xlsm
    94.9 KB · Affichages: 44
  • saisie ABS.xlsm
    94.9 KB · Affichages: 36
Dernière édition:

reinruof77

XLDnaute Occasionnel
Re : saisie des absences via userform

Re bonjour
penser vous qu'il est possible de decomposer ce code en aillant le choix Matin, aprés midi et journée .

EXEMPLE: toto est abscent le 01/03/2016 mais que le matin ou Machin le 02/03/2016 l'aprés midi.

en sachant que la premier ligne ou ce trouve le nom c'est le matin et la deuxieme l'aprés midi.


Merci beaucoup de votre aide
voici le code de jm 27 que je remerci encore et le fichier

Code:
Private Sub CmbValider_Click()
    Dim FeuilleDeTransfert As String
    Dim LigneDeTransfert As Byte
    Dim DebutColonneDeTransfert As Byte
    Dim FinColonneDeTransfert As Byte
    Dim cell As Range
    
    If Month(Datedeb) <> Month(Datefin) Then
        MsgBox "Le mois de la date de début doit ètre la même que celle de fin"
        Exit Sub
    End If
    If Me.ComboNom.ListIndex = -1 Then
        MsgBox " Le Nom doit ètre documenté"
        Exit Sub
    End If
   FeuilleDeTransfert = StrConv(Format(Datefin, "mmmm"), vbProperCase)
   Err = 0
  On Error Resume Next
  LigneDeTransfert = Application.WorksheetFunction.Match(Me.ComboNom, Worksheets(FeuilleDeTransfert).Range("C1:C100"), 0)
   If Err <> 0 Then
        Err = 0
        MsgBox "La feuille de mois ou le nom de la personne n'existe pas dans cette feuille"
        Exit Sub
   End If
   DebutColonneDeTransfert = Application.WorksheetFunction.Match(CLng(Datedeb), Worksheets(FeuilleDeTransfert).Range("D11:AI11"), 0) + 3
   If Err <> 0 Then
        Err = 0
        MsgBox "La date de début n'existe pas dans cette feuille"
        Exit Sub
   End If
   FinColonneDeTransfert = Application.WorksheetFunction.Match(CLng(Datefin), Worksheets(FeuilleDeTransfert).Range("D11:AI11"), 0) + 3
    If Err <> 0 Then
        Err = 0
        MsgBox "La date de fin n'existe pas dans cette feuille"
        Exit Sub
   End If
    
    With Sheets(FeuilleDeTransfert)
        For Each cell In Range(.Cells(LigneDeTransfert, DebutColonneDeTransfert), .Cells(LigneDeTransfert + 1, FinColonneDeTransfert))
            cell = "1dispo"
        Next
    End With
    
    
End Sub

le fichier
 

Pièces jointes

  • saisie 2.xlsm
    76.1 KB · Affichages: 35
  • saisie 2.xlsm
    76.1 KB · Affichages: 36

Statistiques des forums

Discussions
312 104
Messages
2 085 335
Membres
102 864
dernier inscrit
abderrashmaen