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
| Sub tableau()
Dim n As Integer
Dim tableau As Range
Dim freq As Range
Dim controle As Range
Dim nbbac As Integer
Dim c As Integer
Dim Ws As Worksheet
'il faudra penser à faire une fonction recherche après
Set freq = Worksheets("test").Range("b3")
nbbac = Worksheets("test").Range("i3")
'créer une feuil avec le nom de l'embout ou la supprimer pour la refaire
For Each Ws In ActiveWorkbook.Worksheets
If Ws.Name = freq.Offset(0, -1).Value Then
Ws.Delete
Exit For
End If
Next
Sheets.Add
ActiveSheet.Name = freq.Offset(0, -1)
'après avoir créer la feuille, je crée le tableau
Set controle = Worksheets("test").Range("b2")
Set tableau = Worksheets(freq.Offset(0, -1).Value).Cells(5, 1)
c = 0
n = 0
Worksheets(freq.Offset(0, -1).Value).Cells(5, 0).Value = " Bac "
Worksheets(freq.Offset(0, -1).Value).Cells(6, 0).Value = controle
Worksheets(freq.Offset(0, -1).Value).Cells(7, 0).Value = controle.Offset(0, 1)
Worksheets(freq.Offset(0, -1).Value).Cells(8, 0).Value = controle.Offset(0, 2)
Worksheets(freq.Offset(0, -1).Value).Cells(9, 0).Value = controle.Offset(0, 3)
Worksheets(freq.Offset(0, -1).Value).Cells(10, 0).Value = controle.Offset(0, 4)
Worksheets(freq.Offset(0, -1).Value).Cells(11, 0).Value = controle.Offset(0, 5)
Worksheets(freq.Offset(0, -1).Value).Cells(12, 0).Value = controle.Offset(0, 6)
'pour toutes les colonnes, je crée les croix (ou le grisement sinon plus tard)
For i = 1 To nbbac
tableau.Offset(0, c).Value = n + 1
If n Mod freq = 0 Then
tableau.Offset(1, c).Value = "x"
End If
If n Mod freq.Offset(0, 1) = 0 Then
tableau.Offset(2, c).Value = "x"
End If
If n Mod freq.Offset(0, 2) = 0 Then
tableau.Offset(3, c).Value = "x"
End If
If n Mod freq.Offset(0, 3) = 0 Then
tableau.Offset(4, c).Value = "x"
End If
If n Mod freq.Offset(0, 4) = 0 Then
tableau.Offset(5, c).Value = "x"
End If
If n Mod freq.Offset(0, 5) = 0 Then
tableau.Offset(6, c).Value = "x"
End If
If n Mod freq.Offset(0, 6) = 0 Then
tableau.Offset(7, c).Value = "x"
End If
n = n + 1
c = c + 1
'on recommence jusqu'au dernier bac
Next
End Sub |
Partager