1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
| Sub selection()
Dim i As Integer, j As Integer, Lig As Long, nbsemaine As Integer, nbweekend As Integer
Dim sNom As String, criter1 As String
Dim nbre As Integer, Cptr As Long
i = 1
j = 2
Application.ScreenUpdating = False
While Cells(i, 10) <> ""
criter1 = Cells(i, 10)
nbre = Application.CountIf(Columns("A"), criter1)
If nbre = 0 Then
i = i + 1
Else
Lig = ActiveSheet.Columns(1).Find(what:=criter1).Row
For Cptr = 1 To nbre
If Cells(Lig, 7) = 1 Then
If Cells(Lig, 8) = "lundi" And nbsemaine = 0 Then
Range(Cells(Lig, 8), Cells(Lig - 23, 1)).Copy
Sheets("Feuil1").Select
Cells(j, 1).Select
ActiveSheet.Paste
j = j + 24
nbsemaine = nbsemaine + 1
End If
If Cells(Lig, 8) = "mardi" And nbsemaine = 0 Then
Range(Cells(Lig, 8), Cells(Lig - 23, 1)).Copy
Sheets("Feuil1").Select
Cells(j, 1).Select
ActiveSheet.Paste
j = j + 24
nbsemaine = nbsemaine + 1
End If
If Cells(Lig, 8) = "mercredi" And nbsemaine = 0 Then
Range(Cells(Lig, 8), Cells(Lig - 23, 1)).Copy
Sheets("Feuil1").Select
Cells(j, 1).Select
ActiveSheet.Paste
j = j + 24
nbsemaine = nbsemaine + 1
End If
If Cells(Lig, 8) = "jeudi" And nbsemaine = 0 Then
Range(Cells(Lig, 8), Cells(Lig - 23, 1)).Copy
Sheets("Feuil1").Select
Cells(j, 1).Select
ActiveSheet.Paste
j = j + 24
nbsemaine = nbsemaine + 1
End If
If Cells(Lig, 8) = "vendredi" And nbsemaine = 0 Then
Range(Cells(Lig, 8), Cells(Lig - 23, 1)).Copy
Sheets("Feuil1").Select
Cells(j, 1).Select
ActiveSheet.Paste
j = j + 24
nbsemaine = nbsemaine + 1
End If
If Cells(Lig, 8) = "samedi" And nbweekend = 0 Then
Range(Cells(Lig, 8), Cells(Lig - 23, 1)).Copy
Sheets("Feuil2").Select
Cells(j, 1).Select
ActiveSheet.Paste
j = j + 24
nbweekend = nbweekend + 1
End If
If Cells(Lig, 8) = "dimanche" And nbweekend = 0 Then
Range(Cells(Lig, 8), Cells(Lig - 23, 1)).Copy
Sheets("Feuil2").Select
Cells(j, 1).Select
ActiveSheet.Paste
j = j + 24
nbweekend = nbweekend + 1
End If
End If
Lig = Lig + 1
Next
i = i + 1
nbsemaine = 0
nbweekend = 0
End If
Application.ScreenUpdating = True
Wend
End Sub |
Partager