Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
4.0 kB
1
Indexable
Never
'Code écrits dans la feuille 1 et 2

Private Sub Worksheet_Activate() 'quand la feuille est activé


nbRows = ThisWorkbook.Worksheets(1).UsedRange.Rows.Count 'je récupère le nombre d'indicateurs (le nombre de ligne utilisée)

For i = 2 To nbRows 'je créer une boucle qui va de la ligne 2 à la ligne du nombre d'indicateurs


    If Not IsEmpty(Me.Cells(i, 2)) Then 'je vérifie que la colonne "Abrev" ne soit pas vide
    
        If Not IsEmpty(Me.Cells(i, 3)) Then 'je vérifie 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 créer 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]))"
         
            'je créer pour chaque ligne l'indicateur au niveau de l'AD
            'Par exemple, pour le volume d'orange bank la formule est la suivante :CALCULATE([KPI7 - SERVICES FINANCIERS],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é]))"
            
            'je créer pour chaque ligne l'indicateur au niveau nationnale
            'Par exemple, pour le volume d'orange bank la formule est la suivante : CALCULATE([KPI7 - SERVICES FINANCIERS],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]))"
            
            'je créer pour chaque ligne l'indicateur au niveau de l'année precedente
            'Par exemple, pour le volume d'orange bank la formule est la suivante :CALCULATE([KPI7 - SERVICES FINANCIERS],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]))"
            
            'je créer pour chaque ligne l'indicateur au niveau du secteur de l'année precedente
            'Par exemple, pour le volume d'orange bank la formule est la suivante :CALCULATE([vol_OB_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]))"
            
            'je créer pour chaque ligne l'indicateur au niveau de l'AD de l'année precedente
            'Par exemple, pour le volume d'orange bank la formule est la suivante :CALCULATE([vol_OB_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]))"
        
            'je créer pour chaque ligne l'indicateur au niveau nationnale de l'année precedente
            'Par exemple, pour le volume d'orange bank la formule est la suivante :CALCULATE([vol_OB_FR9],SAMEPERIODLASTYEAR('SQL Dim Temps'[Date]))
            
        End If
        
    End If
Next




End Sub