- Private Sub Worksheet_Activate() 'quand la feuille est activé
- nbRows = ThisWorkbook.Worksheets(1).UsedRange.Rows.Count 'je récupere le nombre d'indicateur (le nombre de ligne utilisés)
- For i = 2 To nbRows 'je creer une boucle qui va de la ligne 2 à la ligne du nombre d'indicateur
- If Not IsEmpty(Me.Cells(i, 2)) Then 'je verifie que la colonne "Abrev" ne soit pas vide
- If Not IsEmpty(Me.Cells(i, 3)) Then 'je verifie que la colonne "Mesure" ne soit pas vide
- Me.Cells(i, 5).Value = "SBMJ_" & Me.Cells(i, 2).Value & "_secteur=CALCULATE([" & Me.Cells(i, 3).Value & "],REMOVEFILTERS('SQL Dim Organisation AD'[LibEdo]))"
- 'je creer pour chaque ligne l'indicateur au niveau du secteur
- 'Par exemple,pour le volume d'orange bank la formule est la suivante :CALCULATE([KPI7 - SERVICES FINANCIERS],REMOVEFILTERS('SQL Dim Organisation AD'[LibEdo]))
- Me.Cells(i, 6).Value = "SBMJ_" & Me.Cells(i, 2).Value & "_AD=CALCULATE([" & Me.Cells(i, 3).Value & "],REMOVEFILTERS('SQL Dim Organisation AD'[Lib Secteur]),REMOVEFILTERS('SQL Dim Organisation AD'[LibEdo]))"
- Me.Cells(i, 7).Value = "SBMJ_" & Me.Cells(i, 2).Value & "_FR9=CALCULATE([" & Me.Cells(i, 3).Value & "],REMOVEFILTERS('SQL Dim Organisation AD'[Lib Secteur]),REMOVEFILTERS('SQL Dim Organisation AD'[LibEdo]),REMOVEFILTERS('SQL Dim Organisation AD'[Lib Unité))"
- Me.Cells(i, 8).Value = "SBMJ_" & Me.Cells(i, 2).Value & "_n-1=CALCULATE([" & Me.Cells(i, 3).Value & "],SAMEPERIODLASTYEAR('SQL Dim Temps'[Date]))"
- Me.Cells(i, 9).Value = "SBMJ_" & Me.Cells(i, 2).Value & "_secteur_n-1=CALCULATE([" & Me.Cells(i, 2).Value & "_secteur ],SAMEPERIODLASTYEAR('SQL Dim Temps'[Date]))"
- Me.Cells(i, 10).Value = "SBMJ_" & Me.Cells(i, 2).Value & "_AD_n-1=CALCULATE([" & Me.Cells(i, 2).Value & "_AD],SAMEPERIODLASTYEAR('SQL Dim Temps'[Date]))"
- Me.Cells(i, 11).Value = "SBMJ_" & Me.Cells(i, 2).Value & "_FR9_n-1=CALCULATE([" & Me.Cells(i, 2).Value & "_FR9],SAMEPERIODLASTYEAR('SQL Dim Temps'[Date]))"
- End If
- End If
- Next
- End Sub
[text] vba
Viewer
Editor
You can edit this paste and save as new: