Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
689 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA- Cacul d'une Médiane

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBA- Cacul d'une Médiane

n°2264056
damoko
Posté le 06-08-2015 à 20:38:17  profilanswer
 

Bonjour Forum,  
 
Je réapparais avec mon problème sur le calcul de la médiane. Comme je l'avais expliquée, je fais des TCDs et dans celui-ci, je veux sortir 4 colonnes (Moyenne, Min, Max et Median) sur le calcul de la variable salaire en fonction de mes deux autres variables (catégorie et sexe)  
 
Mon code marche bien si je supprime la partie de calcul de la médiane. je ne sais pas pourquoi la fonction " .Function=xlMedian" ou avec "   .WorksheetFunction.Median ("emploi_salaire_6m" ) "ne marche pas....  
 
Je vous met ci-joint un aperçu de ma sortie du TCD que je souhaite avoir sauf que si je supprime la partie du calcul de la médiane cela marche super bien. (ne tenez pas compte de la mise en forme, elle a été faite manuellement...)  
 
Je vous remercie d'avance.  
 
Mon CODE :  
 
 
[cpp] Option Explicit
 
Dim wsData As Worksheet, wsPT As Worksheet  
Dim rngData As Range  
Dim ptCache As PivotCache  
Dim pt As PivotTable  
 
 
[cpp] Sub TCDautomatique3_Bouton2_Cliquer()  
 
 Application.DisplayAlerts = False  
     
    Application.ScreenUpdating = False  
 
    Set wsData = Worksheets("Données3" )  
    Set rngData = wsData.Cells(1).CurrentRegion  
    Set wsPT = Worksheets("TCD automatique3" )  
     
    'Suppression de tous les TCD existants dans la feuille  
     
   For Each pt In wsPT.PivotTables  
        pt.TableRange2.Clear  
    Next pt  
     
 With wsPT  
    Set ptCache = ActiveWorkbook.PivotCaches.Create(xlDatabase, rngData, 4)  
     
     
     Set pt = ptCache.CreatePivotTable(wsPT.Range("B12" ), "TCD_1", , 4)  
     
    With Sheets("TCD automatique3" ).Activate  
        Range("B10" ) = "Les salaires annuels bruts en kilo euros par type de formation "  
        Range("B10" ).Font.Size = 18  
        Range("B10" ).Font.Italic = True  
        Range("B10" ).Font.Name = "Arial"  
    End With  
       
   
     With pt  
        .ManualUpdate = True  
       
       
       'Ajout d'une Ligne Régime de formation  
        With .PivotFields("regime_6m" )  
            .Orientation = xlRowField  
            .Position = 1  
        End With  
         
       'Ajout d'une Ligne spécialité  
        With .PivotFields("specialite_6m" )  
            .Orientation = xlRowField  
            .Position = 2  
        End With  
               
     ' Calcul du saliare moyen  
       
     With pt.PivotFields("emploi_salaire_6m" )  
        .Orientation = xlDataField  
        .Function = xlAverage  
        .Position = 1  
        .NumberFormat = "0.00"  
        .Name = "Moyenne"  
    End With  
 
    'Calcul du salaire Min  
     
    With pt.PivotFields("emploi_salaire_6m" )  
        .Orientation = xlDataField  
        .Function = xlMin  
        .Position = 2  
        .NumberFormat = "0.00"  
        .Name = "Min"  
    End With  
     
   ' Calcul du salaire Max  
     
    With pt.PivotFields("emploi_salaire_6m" )  
        .Orientation = xlDataField  
        .Function = xlMax  
        .Position = 3  
        .NumberFormat = "0.00"  
        .Name = "Max"  
    End With  
     
    ' Calcul du salaire Median  
     
    With pt.PivotFields("emploi_salaire_6m" )  
        .Orientation = xlDataField  
        .WorksheetFunction.Median ("emploi_salaire_6m" )  
        .Position = 4  
        .NumberFormat = "0.00"  
        .Name = "Mediane"  
    End With  
     
   
     
   .ManualUpdate = False  
  End With  
     
End With  
 
    Set pt = Nothing  
    Set ptCache = Nothing  
    Set rngData = Nothing  
    Set wsPT = Nothing: Set wsData = Nothing  
 
 
End Sub

mood
Publicité
Posté le 06-08-2015 à 20:38:17  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA- Cacul d'une Médiane

 

Sujets relatifs
VBA- Cacul d'une MédianeTracer courbe de tendance VBA
VBA Word et zones de dessins[VBA] Import image
[VBA] SécuritéVBA sélectionner contenus de plusieurs fichiers excel
[VBA] Renseigner des signets Word dans une boucle For. 
Plus de sujets relatifs à : VBA- Cacul d'une Médiane


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR