Sub RemplirSageVersion3()
Dim DateDebut As Date
Dim DateFin As Date
Dim LigneSage As Integer
Dim Absences1 As String
Dim Absences2 As String
Dim ValeurAbsences1 As Date
Dim ValeurAbsences2 As Date
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim Commentaire As String


DateDebut = InputBox("Veuillez écrire ci-dessous la date de début du mois afin de récupérer les informations de cette période là :")
DateFin = InputBox("Veuillez écrire ci-dessous la date de fin du mois afin de récupérer les informations de cette période là :")

For b = 0 To 110
Absences1 = ""
    For a = 0 To 549
        c = 0
        If Not IsDate(Sheets("pointage 2017 2018").Cells(2 + a - 1, 3).Value) Then
            c = 1
        End If
        If Sheets("pointage 2017 2018").Cells(2 + a, 3).Value <= DateFin And Sheets("pointage 2017 2018").Cells(2 + a, 3).Value >= DateDebut Then 'si la date est comprise entre les date selectionner par l'administrateur faire
            
            If Absences1 <> "" Then
                If Not Sheets("pointage 2017 2018").Cells(2 + a, 4 + b).Comment Is Nothing Then 'si cette cellule n'a pas de commentaire vide
                    Sheets("pointage 2017 2018").Cells(2 + a, 4 + b).Comment.Visible = True 'a enlever
                    Sheets("pointage 2017 2018").Cells(2 + a, 4 + b).Activate
                    Sheets("pointage 2017 2018").Cells(2 + a, 4 + b).Comment.Visible = False 'a enlever
                    Commentaire = ActiveCell.Comment.Text 'commentaire prend la valeur qui se trouve dans le commentaire de cette cellule
                ElseIf Sheets("pointage 2017 2018").Cells(2 + a, 4 + b).Interior.ColorIndex = 4 Then
                    Commentaire = "Congé payé"
                ElseIf Sheets("pointage 2017 2018").Cells(2 + a, 4 + b).Interior.ColorIndex = 46 Then
                    Commentaire = "Jour férié"
                ElseIf Sheets("pointage 2017 2018").Cells(2 + a, 4 + b).Interior.ColorIndex = 3 Or Sheets("pointage 2017 2018").Cells(2 + a, 4 + b).Interior.ColorIndex = 8 Then
                    Commentaire = "RTT"
                End If
                
                Absences2 = Commentaire
                ValeurAbsences2 = Sheets("pointage 2017 2018").Cells(2 + a, 4 + b).Value
                
                If Absences2 <> "En attentes" And Absences1 <> Absences2 And Absences2 <> "" Then
                Sheets("SAGE").Cells(14 + LigneSage + 1, 7).Value = Sheets("pointage 2017 2018").Cells(558, 4 + b).Value 'on met le matricule
                Sheets("SAGE").Cells(14 + LigneSage + 1, 9).Value = Sheets("pointage 2017 2018").Cells(2 + a, 3).Value 'on met la date de début
                End If
            Else
            
                If Not Sheets("pointage 2017 2018").Cells(2 + a, 4 + b).Comment Is Nothing Then 'si cette cellule n'a pas de commentaire vide
                    
                    Sheets("pointage 2017 2018").Cells(2 + a, 4 + b).Comment.Visible = True 'a enlever
                    Commentaire = Sheets("pointage 2017 2018").Cells(2 + a, 4 + b).Comment.Text 'commentaire prend la valeur qui se trouve dans le commentaire de cette cellule
                    Sheets("pointage 2017 2018").Cells(2 + a, 4 + b).Comment.Visible = False 'a enlever
                ElseIf Sheets("pointage 2017 2018").Cells(2 + a, 4 + b).Interior.ColorIndex = 4 Then
                    Commentaire = "Congé payé"
                ElseIf Sheets("pointage 2017 2018").Cells(2 + a, 4 + b).Interior.ColorIndex = 46 Then
                    Commentaire = "Jour férié"
                ElseIf Sheets("pointage 2017 2018").Cells(2 + a, 4 + b).Interior.ColorIndex = 3 Or Sheets("pointage 2017 2018").Cells(2 + a, 4 + b).Interior.ColorIndex = 8 Then
                    Commentaire = "RTT"
                End If
                
                            
                Absences1 = Commentaire
                c = 0
                If Absences1 <> "" Then
                ValeurAbsences1 = Sheets("pointage 2017 2018").Cells(2 + a, 4 + b).Value
                Sheets("SAGE").Cells(14 + LigneSage, 7).Value = Sheets("pointage 2017 2018").Cells(558, 4 + b).Value 'on met le matricule
                Sheets("SAGE").Cells(14 + LigneSage, 9).Value = Sheets("pointage 2017 2018").Cells(2 + a, 3).Value 'on met la date de début
                Absences2 = "En attentes"
                Commentaire = ""
                End If
            
            End If
            
            If Absences2 = Absences1 And Absences1 <> "" Then
                Absences2 = "En attentes"
                Commentaire = ""
                ValeurAbsences1 = ValeurAbsences1 + ValeurAbsences2
                ValeurAbsences2 = 0
            End If
            
            If (Absences2 <> Absences1 And ValeurAbsences2 <> 0) Or (Absences2 = "" And ValeurAbsences2 + ValeurAbsences1 <> 0 Or (Sheets("pointage 2017 2018").Cells(2 + a, 3).Value = DateFin And ValeurAbsences1 <> 0)) Then
                If c = 1 Then
                Sheets("SAGE").Cells(14 + LigneSage, 10).Value = Sheets("pointage 2017 2018").Cells(2 + a - 6, 3).Value 'on met la date de fin avec - 6 ligne pour enlever le week endcar ca c'est terminé maintenant
                Sheets("SAGE").Cells(14 + LigneSage, 12).Value = ValeurAbsences1 * 24 'je met la valeur total de l 'absence
                c = 0
                Else
                    If Sheets("pointage 2017 2018").Cells(2 + a, 3).Value = DateFin Then
                    Sheets("SAGE").Cells(14 + LigneSage, 10).Value = Sheets("pointage 2017 2018").Cells(2 + a, 3).Value 'on met la date de fin car ca c'est terminé maintenant
                    Sheets("SAGE").Cells(14 + LigneSage, 12).Value = ValeurAbsences1 * 24 'je met la valeur total de l 'absence en heure décimal
                    Else
                        If Absences2 <> Absences1 And ValeurAbsences2 <> 0 Or Absences2 = "" And ValeurAbsences2 + ValeurAbsences1 <> 0 Then 'ICCCCCCCI
                            Sheets("SAGE").Cells(14 + LigneSage, 10).Value = Sheets("pointage 2017 2018").Cells(2 + a - 1, 3).Value 'on met la date de fin car ca c'est terminé maintenant
                            Sheets("SAGE").Cells(14 + LigneSage, 12).Value = ValeurAbsences1 * 24 'je met la valeur total de l 'absence en heure décimal
                            Else
                            Sheets("SAGE").Cells(14 + LigneSage, 10).Value = Sheets("pointage 2017 2018").Cells(2 + a, 3).Value 'on met la date de fin car ca c'est terminé maintenant
                            Sheets("SAGE").Cells(14 + LigneSage, 12).Value = ValeurAbsences1 * 24 'je met la valeur total de l 'absence en heure décimal
                        End If
                    End If
                End If
                Select Case Absences1
                
                Case Is = "Congé sans solde"
                    Sheets("SAGE").Cells(14 + LigneSage, 11).Value = "CS" 'on met le code du motif , ici conge sans solde
                    Sheets("SAGE").Cells(14 + LigneSage, 8).Value = 980 'on met le code nature evenement
                Case Is = "Accident de travail avec arrêt"
                    Sheets("SAGE").Cells(14 + LigneSage, 11).Value = "AT" 'on met le code du motif
                    Sheets("SAGE").Cells(14 + LigneSage, 8).Value = 990 'on met le code nature evenement
                Case Is = "Accident de trajet"
                    Sheets("SAGE").Cells(14 + LigneSage, 11).Value = "ATR" 'on met le code du motif
                    Sheets("SAGE").Cells(14 + LigneSage, 8).Value = 1040 'on met le code nature evenement
                Case Is = "Congé adoption"
                    Sheets("SAGE").Cells(14 + LigneSage, 11).Value = "CAD" 'on met le code du motif
                    Sheets("SAGE").Cells(14 + LigneSage, 8).Value = 410 'on met le code nature evenement
                Case Is = "Congé pour convenance personnelle"
                    Sheets("SAGE").Cells(14 + LigneSage, 11).Value = "CCP" 'on met le code du motif
                    Sheets("SAGE").Cells(14 + LigneSage, 8).Value = 980 'on met le code nature evenement
                Case Is = "Congé formation pro"
                'ATTENTION CODE NATURE A OBTENIR POUR CELUI CI
                    Sheets("SAGE").Cells(14 + LigneSage, 11).Value = "CF" 'on met le code du motif
                    Sheets("SAGE").Cells(14 + LigneSage, 8).Value = 470 'on met le code nature evenement
                Case Is = "Congé payé non rémunéré par l’employeur"
                'ATTENTION CODE NATURE A VERIFER POUR CELUI CI
                    Sheets("SAGE").Cells(14 + LigneSage, 11).Value = "CNR" 'on met le code du motif
                    Sheets("SAGE").Cells(14 + LigneSage, 8).Value = 470 'on met le code nature evenement
                Case Is = "Congé d'ancienneté"
                'ATTENTION CODE NATURE A OBTENIR POUR CELUI CI et CODE ABSENCE(motif)
                    Sheets("SAGE").Cells(14 + LigneSage, 11).Value = "a mettre" 'on met le code du motif
                    Sheets("SAGE").Cells(14 + LigneSage, 8).Value = 470 'on met le code nature evenement
                Case Is = "Congé parental"
                    Sheets("SAGE").Cells(14 + LigneSage, 11).Value = "CPA" 'on met le code du motif
                    Sheets("SAGE").Cells(14 + LigneSage, 8).Value = 470 'on met le code nature evenement
                Case Is = "Congé de présence parental"
                'ATTENTION CODE NATURE A VERIFER POUR CELUI CI
                    Sheets("SAGE").Cells(14 + LigneSage, 11).Value = "CPP" 'on met le code du motif
                    Sheets("SAGE").Cells(14 + LigneSage, 8).Value = 1060 'on met le code nature evenement
                Case Is = "Femme enceinte dispensée de travail"
                'ATTENTION CODE NATURE A OBTENIR POUR CELUI CI
                    Sheets("SAGE").Cells(14 + LigneSage, 11).Value = "FENC" 'on met le code du motif
                    Sheets("SAGE").Cells(14 + LigneSage, 8).Value = 0 'on met le code nature evenement
                Case Is = "Absence maladie"
                    Sheets("SAGE").Cells(14 + LigneSage, 11).Value = "MA" 'on met le code du motif
                    Sheets("SAGE").Cells(14 + LigneSage, 8).Value = 960 'on met le code nature evenement
                Case Is = "Absence maladie pro"
                    Sheets("SAGE").Cells(14 + LigneSage, 11).Value = "MAP" 'on met le code du motif
                    Sheets("SAGE").Cells(14 + LigneSage, 8).Value = 1000 'on met le code nature evenement
                Case Is = "Congé paternité"
                    Sheets("SAGE").Cells(14 + LigneSage, 11).Value = "MP" 'on met le code du motif
                    Sheets("SAGE").Cells(14 + LigneSage, 8).Value = 1050 'on met le code nature evenement
                Case Is = "Absence maternité"
                    Sheets("SAGE").Cells(14 + LigneSage, 11).Value = "MT" 'on met le code du motif
                    Sheets("SAGE").Cells(14 + LigneSage, 8).Value = 1010 'on met le code nature evenement
                Case Is = "Absence mi-temps thérapeuthique"
                'ATTENTION CODE ABSENCE(motif) A OBTENIR POUR CELUI CI
                    Sheets("SAGE").Cells(14 + LigneSage, 11).Value = "" 'on met le code du motif
                    Sheets("SAGE").Cells(14 + LigneSage, 8).Value = 440 'on met le code nature evenement
                Case Is = "Congé payé"
                'ATTENTION CODE ABSENCE(motif) A VERIFIER POUR CELUI CI
                    Sheets("SAGE").Cells(14 + LigneSage, 11).Value = "CP" 'on met le code du motif
                    Sheets("SAGE").Cells(14 + LigneSage, 8).Value = 950 'on met le code nature evenement
                Case Is = "Jour férié"
                'Ne rentre peut être pas en compte comme une absence mais comme un droit
                    Sheets("SAGE").Cells(14 + LigneSage, 11).Value = "" 'on met le code du motif
                    Sheets("SAGE").Cells(14 + LigneSage, 8).Value = 0 'on met le code nature evenement
                'ATTENTION CODE ABSENCE(motif) A OBTENIR POUR CELUI CI
                Case Is = "RTT"
                    Sheets("SAGE").Cells(14 + LigneSage, 11).Value = "RTT" 'on met le code du motif
                    Sheets("SAGE").Cells(14 + LigneSage, 8).Value = 3000 'on met le code nature evenement
                End Select
                LigneSage = LigneSage + 1
                Absences1 = Absences2
                Absences2 = ""
                Commentaire = ""
                ValeurAbsences1 = ValeurAbsences2
                ValeurAbsences2 = 0
            End If
        End If
         
    Next
       
Next
End Sub
Sub Test()
Dim valeur As Date

valeur = Sheets("SAGE").Cells(6, 1).Value
Sheets("SAGE").Cells(5, 1).Value = valeur
Sheets("SAGE").Cells(5, 1).NumberFormat = "General"
Sheets("SAGE").Cells(5, 1).Value = Sheets("SAGE").Cells(5, 1).Value * (3 / 0.875)


End Sub