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
| Sub Actual_Filling_in_Actual_vs_Budget2()
Dim WS1 As Worksheet, cell As Range, Cell1 As Range, Cell2 As Range
Dim NLign As Long, total As Double
Dim Actual_R As Range, Expense_Cat As Range
Set WS1 = Worksheets("Actual vs Budget")
'WS1 correspond à la Feuille Actual vs Budget, qui comprend le tableau que je cherche à remplir de façon automatique
WS1.Activate
For Each cell In WS1.Rows(1).Cells
If cell.Value = Worksheets("Intro").Range("B7").Value Then
cell.Cells.EntireColumn.Offset(0, 1).Select
'Il s'agit là d'un test me permettant de selectionner la colonne que je cherche à remplir, c'est-à-dire la colonne située juste à droite de la colonne contenant en première ligne le même chiffre que dans l'onglet Intro dans la case donnant le mois de l'année
End If
Next
Set Actual_R = Selection
Set Expense_Cat = Worksheets("Actual vs Budget").Range("B1:B100")
'la colonne B de ma Feuille Actual vs Budget est celle qui contient les intitulés des comptes que je cherche à remplir automatiquement
For Each Cell1 In Expense_Cat
total = 0
If Cell1.Value = "Hardware" Then
'Si le nom de l'intitulé est "Hardware" alors je conserve le numero de ligne dans une variable NLign
NLign = Cell1.Row
For Each Cell2 In Worksheets("Balance Sheet").Range("A1:A1000")
If Cell2.Cells.Value = " Total for Computers & Equipment" Then
total = total + Cell2.Cells.Offset(0, 9).Value
'Je parcours une à une les cellules de la colonne A (qui contient les intitulés comptables de mon Bilan), et si l'une d'entre elles s'intitule " Total for Computers & Equipment" (j'ai fait un copié/collé ici pour m'assurer que ce soit exactement le même intitulé, d'où les espaces au début), alors j'incremente ma variable "total" à partir du montant correspondant situé en colonne J (d'où le offset(0,9))
End If
Next Cell2
Actual_R.Rows(NLign).Value = total
'Je viens ensuite remplir mon tableau dans l'onglet Actual vs Budget avec ma variable total
End If
If Cell1.Value = "Office Furniture and Moving Expenses" Then
NLign = Cell1.Row
For Each Cell2 In Worksheets("Balance Sheet").Range("A1:A1000")
If Cell2.Cells.Value = " Total for Furniture, Fixtures & Equipment" Then
total = total + Cell2.Cells.Offset(0, 9).Value
End If
Next Cell2
Actual_R.Rows(NLign).Value = total
End If
Next Cell1
End Sub |
Partager