[text] vba

Viewer

  1. Private Sub Worksheet_Activate() 'quand la feuille est activé
  2.  
  3.  
  4. nbRows = ThisWorkbook.Worksheets(1).UsedRange.Rows.Count 'je récupere le nombre d'indicateur (le nombre de ligne utilisés)
  5.  
  6. For i = 2 To nbRows 'je creer une boucle qui va de la ligne 2 à la ligne du nombre d'indicateur
  7.  
  8.  
  9.     If Not IsEmpty(Me.Cells(i, 2)) Then 'je verifie que la colonne "Abrev" ne soit pas vide
  10.     
  11.         If Not IsEmpty(Me.Cells(i, 3)) Then 'je verifie que la colonne "Mesure" ne soit pas vide
  12.         
  13.             Me.Cells(i, 5).Value = "SBMJ_" & Me.Cells(i, 2).Value & "_secteur=CALCULATE([" & Me.Cells(i, 3).Value & "],REMOVEFILTERS('SQL Dim Organisation AD'[LibEdo]))"
  14.             
  15.             'je creer pour chaque ligne l'indicateur au niveau du secteur
  16.             'Par exemple,pour le volume d'orange bank la formule est la suivante :CALCULATE([KPI7 - SERVICES FINANCIERS],REMOVEFILTERS('SQL Dim Organisation AD'[LibEdo]))
  17.         
  18.             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]))"
  19.          
  20.             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é))"
  21.             
  22.             Me.Cells(i, 8).Value = "SBMJ_" & Me.Cells(i, 2).Value & "_n-1=CALCULATE([" & Me.Cells(i, 3).Value & "],SAMEPERIODLASTYEAR('SQL Dim Temps'[Date]))"
  23.             
  24.             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]))"
  25.             
  26.             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]))"
  27.             
  28.             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]))"
  29.         End If
  30.         
  31.     End If
  32. Next
  33.  
  34.  
  35.  
  36.  
  37. End Sub
  38.  
  39.  

Editor

You can edit this paste and save as new:


File Description
  • vba
  • Paste Code
  • 02 Jun-2023
  • 2.19 Kb
You can Share it: