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 :

Condition If ne fonctionne pas


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2021
    Messages : 4
    Par défaut Condition If ne fonctionne pas
    Bonjour,

    J'ai réalisé une procédure afin de récupérer les champs d'un tableau croisé dynamique. Je souhaite récupérer les champs des zones Ligne et Colonne du TCD dans un premier tableau vba (ChAxe), puis les champs de la zone Valeur du TCD dans un second tableau vba (ChVal) (sous forme "Somme de champs" "Moyenne de champs" etc)

    Toutefois lorsque je rédige la condition sous cette forme : PivotFields("Somme de " & champs), le programme s'exécute comme s'il n'y avait pas de if ce qui créé une erreur lorsque le champs n'est pas dans le TCD.
    (sous cette forme : PivotFields(champs), le If fonction normalement mais ça ne me permet pas d'obtenir les champs de la zone Valeur du TCD..)

    Merci pour votre aide,
    Cordialement

    Voici mon code :


    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
    Sub ChampsTCD()
     
    Dim n As Integer
    Dim m As Integer
    Dim PT As PivotTable
    Dim PF As PivotField
    Dim PFnom As String
    Dim ChAxe() As String
    Dim ChVal() As String
     
    n = 0
    m = 0
     
    Set PT = Worksheets("Feuil2").PivotTables("tcd1")
     
    For Each PF In PT.PivotFields
     
        If PT.PivotFields(PF.Name).Orientation = xlColumnField _
        Or PT.PivotFields(PF.Name).Orientation = xlRowField Then
            n = n + 1
            ReDim Preserve ChAxe(1 To n)
            ChAxe(n) = PF.Name
     
        ElseIf PT.PivotFields("Somme de " & PF.Name).Orientation = xlDataField Then
            m = m + 1
            ReDim Preserve ChVal(1 To m)
            ChVal(m) = "Somme de " & PF.Name
     
        ElseIf PT.PivotFields("Nombre de " & PF.Name).Orientation = xlDataField Then
            m = m + 1
            ReDim Preserve ChVal(1 To m)
            ChVal(m) = "Nombre de " & PF.Name
     
        ElseIf PT.PivotFields("Moyenne de " & PF.Name).Orientation = xlDataField Then
            m = m + 1
            ReDim Preserve ChVal(1 To m)
            ChVal(m) = "Moyenne de " & PF.Name
     
        ElseIf PT.PivotFields("Max. de " & PF.Name).Orientation = xlDataField Then
            m = m + 1
            ReDim Preserve ChVal(1 To m)
            ChVal(m) = "Max de " & PF.Name
     
        ElseIf PT.PivotFields("Min. de " & PF.Name).Orientation = xlDataField Then
            m = m + 1
            ReDim Preserve ChVal(1 To m)
            ChVal(m) = "Min de " & PF.Name
     
        ElseIf PT.PivotFields("Produit de " & PF.Name).Orientation = xlDataField Then
            m = m + 1
            ReDim Preserve ChVal(1 To m)
            ChVal(m) = "Produit de " & PF.Name
        End If
     
    Next PF
     
    End Sub
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Condition qui ne fonctionne pas
    Par korked dans le forum Général Java
    Réponses: 0
    Dernier message: 16/05/2015, 20h44
  2. Condition qui ne fonctionne pas
    Par Moymoy dans le forum Langage
    Réponses: 28
    Dernier message: 09/09/2013, 15h31
  3. Condition qui ne fonctionne pas dans une page jsp
    Par Lopak dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 29/04/2010, 16h37
  4. condition qui ne fonctionne pas
    Par Invité(e) dans le forum Langage
    Réponses: 6
    Dernier message: 07/02/2010, 16h27
  5. [vb.net] Condition qui ne fonctionne pas
    Par dyree dans le forum ASP.NET
    Réponses: 3
    Dernier message: 13/06/2006, 09h55

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