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 87 88 89 90 91
|
Sub Test
Call GenererMatinGeneral
End Sub
Public Sub GenererMatinGeneral()
Dim Calorie As Double
Dim compteur As Double 'Comparateur de calories
Dim i As Integer
Dim prefs As Worksheet
Dim Feuille As String
Call InitialisationPlanning
Call CreerFeuille
Set prefs = ThisWorkbook.Worksheets("Prefs")
Feuille = prefs.Cells(1, 1)
CalorieJour = 2000
Calorie = CalorieJour * 0.3 '30% des calories sont réservées au petit déjeuner, c'est la quantité max à ne pas dépasser
m = NombreAleatoire(1, 26)
'temporaire
Dim Masse(6) As Double
For i = 1 To 6
With TabPetitDej(m, i)
Masse(i) = .Masse * 1.05 'On modifie la masse en lui appliquant un facteur multiplicateur inférieur à 1
End With
Next
'Temporaire fin
Dim CellNomGeneral As Range, CellNom As Range, CellMasse As Range, CellCalorie As Range
Set CellNomGeneral = Sheets(Feuille).Range("B5")
Set CellNom = Sheets(Feuille).Range("D6")
Set CellMasse = Sheets(Feuille).Range("E6")
Set CellCalorie = Sheets(Feuille).Range("F6")
With TabPetitDej(m, 7)
CellNomGeneral.Value = .Nom
End With
For i = 1 To 6
Dim j As Integer
j = i - 1
With TabPetitDej(m, i)
CellNom.Offset(j, 0).Value = .Nom
CellMasse.Offset(j, 0).Value = Masse(i)
CellCalorie.Offset(j, 0).Value = .Calorie * Masse(i) / 100
End With
Next
End Sub
Public Sub InitialisationPlanning()
'Calcul des besoins nutritionnels de l'utilisateur
Call CalculCaloriesParJour
'Mise en mémoire des menus
Call DeclarationPetitDejeuner
Call DeclarationEntree
Call DeclarationPlatPrincipal
Call DeclarationDessert
End Sub
Public Sub CreerFeuille()
'Création d'une feuille
Dim prefs As Worksheet
Dim ws As Object
'Supposons que Planning est la feuille modèle
Set ws = Sheets.Add(After:=Sheets("Planning"))
ThisWorkbook.Sheets("Planning").Cells.Copy ws.Cells(1, 1)
'Sauvegarde le nom de la feuille créée
Set prefs = ThisWorkbook.Worksheets("Prefs")
prefs.Cells(1, 1) = ws.Name
End Sub |
Partager