IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Calculatedfields et formule [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2002
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2002
    Messages : 329
    Par défaut Calculatedfields et formule
    Bonjour

    Voici le code qui pose problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    Sub CREERTCD()
        Dim wshTCD      As Worksheet
        Dim PvtTCD      As PivotTable
        Dim Maplage     As Range
        '
        ' CREERTCD Macro
        '
        ' Sélection des données
        Sheets("yData").Activate
        Set Maplage = ActiveSheet.UsedRange
        Maplage.Select
     
       'Affectation du TCD à la feuille "TCD automatique"
        Sheets.Add
        ActiveSheet.Name = "TCD"
     
        Set wshTCD = Worksheets("TCD")
     
       'Ajout d'un TCD sur la feuille "TCD automatique"
        Set PvtTCD = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=Maplage) _
                    .CreatePivotTable(tabledestination:=wshTCD.Range("B5"), TableName:="TCD_yData")
     
       'Ajout des champs au TCD
       With PvtTCD
     
            'Ajout d'une Ligne ABREGE_SEMAINE
            With .PivotFields("ABREGE_SEMAINE")
                .Orientation = xlRowField
                .Position = 1
                .Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
            End With
     
            'Ajout d'une Ligne Date_debut
            With .PivotFields("DEB_SEM")
                .Orientation = xlRowField
                .Position = 2
                .Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
            End With
     
            'Ajout d'une Ligne Date_fin
            With .PivotFields("FIN_SEM")
                .Orientation = xlRowField
                .Position = 3
                .Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
            End With
     
            'Ajout d'une Ligne Type de seance
            With .PivotFields("TYPE_SEANCE")
                .Orientation = xlRowField
                .Position = 4
                .Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
     
            End With
     
            'Ajout d'une Ligne NOM_MATIERE
            With .PivotFields("NOM_MATIERE")
                 .Orientation = xlRowField
                 .Position = 4
                 .Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
            End With
     
            'Ajout d'une Ligne Somme T1
            With .PivotFields("REALISE_COEFF")
                .Orientation = xlDataField
                .Function = xlSum
     
            End With
     
            'Champs calculés
            .CalculatedFields.Add Name:="CO_PREPA", Formula:="=SI(EXACT(T(TYPE_SEANCE)#'ACTION')#0#1)"
            With .PivotFields("CO_PREPA")
                .Orientation = xlDataField
                .Function = xlSum
                .Caption = "Coeff. Prépa."
     
            End With
     
     
            'mode tabulaire
            .RowAxisLayout xlTabularRow
        End With
     
    End Sub
    Nom : Sans titre.png
Affichages : 327
Taille : 115,4 Ko
    L'erreur survient au niveau du champ calculé car c'est le seul champ qui n'apparait pas. Erreur 1004 : impossible de trouver la proprieté pivotfields
    Je me demande si la formule ne pose pas de problème...

    Merci si qqn peut me donner un coup de main!

    Cyrille

  2. #2
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2002
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2002
    Messages : 329
    Par défaut
    Bonjour,

    Je crois que le problème provient de la formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .CalculatedFields.Add Name:="CO_PREPA", Formula:="=SI(EXACT(T(TYPE_SEANCE)#'ACTION')#0#1)"
    Je l'ai modifié par une formule du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .CalculatedFields.Add Name:="CO_PREPA", Formula:="REALISE_COEFF*0.1"
    Et tout fonctionne parfaitement.
    Donc c'est bien la formule.

    Mais pourquoi ne peut on pas utiliser de formules complexes ??????

  3. #3
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2002
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2002
    Messages : 329
    Par défaut
    Bon

    Après avoir bien exploré, j'ai enfin trouvé une réponse à ma question !

    Eh bien en fait, les formules dans les champs calculés ne peuvent inclure de fonctions traitement du texte...

    En espérant que cela aide quelques uns...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Crystal] Formules ...
    Par Antichoc dans le forum Formules
    Réponses: 3
    Dernier message: 25/11/2003, 10h52
  2. [][Excel] Comment ne pas détruire les formules ?
    Par flyangelNext dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/07/2003, 11h38
  3. évaluateur de formule mathématique
    Par lyrau dans le forum Générateurs de compilateur
    Réponses: 5
    Dernier message: 28/03/2003, 22h50
  4. [Formule] Lever et coucher du soleil
    Par psl dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 21/10/2002, 16h37
  5. [reseaux] Comment creer un compte user à partir d'un formul avec perl
    Par oulai_evado dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 01/10/2002, 19h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo