Congés; VBA - Page 2

Résolu
Précédent
  • 1
  • 2
  1. Frenchie83 Messages postés 2254 Statut Membre 339
     
    Bonsoir
    Voilà qui devrait aller
    Sub AdressesCA()
        Application.ScreenUpdating = False
        Dim com As Range
        Dim arr As Range
        Dim TotalCa
        
        DerLig = [E10000].End(xlUp).Row
        Sheets("feuil1").Range("$I$4:$FD$4", "$I$6:$FD$6").ClearContents
        For LigAct = 10 To DerLig
            Cells(LigAct, 5).Select
            Agent = Cells(LigAct, 5)
            PremCol = Cells(LigAct, 8).End(xlToRight).Column
            DerCol = Cells(LigAct, 2000).End(xlToLeft).Column
            TotalCa = 0
            If DerCol < 8 Then GoTo Suivant
            ReDim deb(DerCol) As String
            ReDim fin(DerCol) As String
            For i = PremCol To DerCol
                If Cells(LigAct, i - 1) <> "Ca" And Cells(LigAct, i) = "Ca" Then
                    deb(i) = Cells(LigAct, i).Address(RowAbsolute:=False, ColumnAbsolute:=False)
                    Cpt = 1
                    Do While Cells(LigAct, Cpt + i) = "Ca"
                        Cpt = Cpt + 1
                    Loop
                    fin(i) = Cells(LigAct, Cpt + i).Address(RowAbsolute:=False, ColumnAbsolute:=False)
                    Set celluletrouvee_DEB = Cells(LigAct, i).Offset(-(Cells(ActiveCell.Row, 5).Offset(0, -1) + 1), 0)
                    Set celluletrouvee_FIN = Cells(LigAct, Cpt + i).Offset(-(Cells(ActiveCell.Row, 5).Offset(0, -1) + 1), 0).Offset(0, -1)
                    fériés_1 = Application.WorksheetFunction.CountIf(ActiveSheet.Range(celluletrouvee_DEB.Address, celluletrouvee_FIN.Address), Sheets("Donnees").Range("M2").Value)
                    fériés_2 = Application.WorksheetFunction.CountIf(ActiveSheet.Range(celluletrouvee_DEB.Address, celluletrouvee_FIN.Address), Sheets("Donnees").Range("M3").Value)
                    fériés_3 = Application.WorksheetFunction.CountIf(ActiveSheet.Range(celluletrouvee_DEB.Address, celluletrouvee_FIN.Address), Sheets("Donnees").Range("M4").Value)
                    fériés_4 = Application.WorksheetFunction.CountIf(ActiveSheet.Range(celluletrouvee_DEB.Address, celluletrouvee_FIN.Address), Sheets("Donnees").Range("M5").Value)
                    fériés_5 = Application.WorksheetFunction.CountIf(ActiveSheet.Range(celluletrouvee_DEB.Address, celluletrouvee_FIN.Address), Sheets("Donnees").Range("M6").Value)
                    fériés_6 = Application.WorksheetFunction.CountIf(ActiveSheet.Range(celluletrouvee_DEB.Address, celluletrouvee_FIN.Address), Sheets("Donnees").Range("M7").Value)
                    fériés_7 = Application.WorksheetFunction.CountIf(ActiveSheet.Range(celluletrouvee_DEB.Address, celluletrouvee_FIN.Address), Sheets("Donnees").Range("M8").Value)
                    fériés_8 = Application.WorksheetFunction.CountIf(ActiveSheet.Range(celluletrouvee_DEB.Address, celluletrouvee_FIN.Address), Sheets("Donnees").Range("M9").Value)
                    fériés_9 = Application.WorksheetFunction.CountIf(ActiveSheet.Range(celluletrouvee_DEB.Address, celluletrouvee_FIN.Address), Sheets("Donnees").Range("M10").Value)
                    fériés_10 = Application.WorksheetFunction.CountIf(ActiveSheet.Range(celluletrouvee_DEB.Address, celluletrouvee_FIN.Address), Sheets("Donnees").Range("M11").Value)
                    fériés_11 = Application.WorksheetFunction.CountIf(ActiveSheet.Range(celluletrouvee_DEB.Address, celluletrouvee_FIN.Address), Sheets("Donnees").Range("M12").Value)
                    fériés_12 = Application.WorksheetFunction.CountIf(ActiveSheet.Range(celluletrouvee_DEB.Address, celluletrouvee_FIN.Address), Sheets("Donnees").Range("M13").Value)
                     
                    Total_féries = fériés_1 + fériés_2 + fériés_3 + fériés_4 + fériés_5 + fériés_6 + fériés_7 + fériés_8 + fériés_9 + fériés_10 + fériés_11 + fériés_12
                    TotalCa = TotalCa + Cells(LigAct, Cpt + i).Offset(-(Cells(ActiveCell.Row, 5).Offset(0, -1) + 1), 0) - Cells(LigAct, i).Offset(-(Cells(ActiveCell.Row, 5).Offset(0, -1) + 1), 0) - Left((Cells(LigAct, Cpt + i).Offset(-(Cells(ActiveCell.Row, 5).Offset(0, -1) + 1), 0) - Cells(LigAct, i).Offset(-(Cells(ActiveCell.Row, 5).Offset(0, -1) + 1), 0)) / 7, 1) - Total_féries
                    Sheets("feuil1").Range("F5").Value = WorksheetFunction.Sum(por)
                End If
            Next i
            Cells(LigAct, "FF").FormulaR1C1 = TotalCa
    Suivant:
        Next LigAct
    End Sub
    

    Cdlt
    0
  2. julia Namor Messages postés 532 Statut Membre 33
     
    C'est tout bon
    MERCI et MERCI encore
    0
Précédent
  • 1
  • 2