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 :

séléctionner que les dates voulues dans un tableau dynamique croisé avec du VBA


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Points : 2
    Points
    2
    Par défaut séléctionner que les dates voulues dans un tableau dynamique croisé avec du VBA
    Bonjour à tous,

    je n'arrive pas à créé une macro VBA qui me perméttrais de séléctionné sur mon tableau dynamique croisé que les dates que je souhaite

    c'est à dire par exemple je lance la macro une msgbox s'affiche

    ou l'on doit entrer une date type mm/aaaa exemple: 12/2007

    ensuite la macro doit permettre juste de séléctionné les dates depuis le 12/2007 -3 mois et ne devrais s'afficher que les mois de décembre, novembre et octobre de l'année 2007

    ci-joint le fichier avec les datas

    Merci d'avance pour les personnes qui vont se pencher sur mon souci

    neoxsat
    Fichiers attachés Fichiers attachés

  2. #2
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    en enregistrant ma macro en manuel j'obtient cela mais moi je vouderai séléctionner par le biais d'un msgbox date sous le format mm/aaaa

    exemple 12/2007 -3mois les dates souhaité


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sheets("tableau").Select
        With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
            "Mois_Annee")
            .PivotItems("01/09/2007").Visible = False
        End With
    End Sub

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 31
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    J'ai fait un peu différement mais ca fonctionne.
    Le format est de type jj/mm/aaaa.

    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
    Sub test()
    Sheets("tableau").Select
     
     
     
    Dim rep As Date
    Dim i As Integer
     
    rep = DateAdd("m", -3, InputBox("donne ta date **/**/****"))
     
     
        With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Mois_Annee")
            cpt = .PivotItems.Count
     
            For i = 1 To .PivotItems.Count
            If rep < .PivotItems(i) Then
                .PivotItems(i).Visible = False
            Else
                .PivotItems(i).Visible = True
            End If
            Next
        End With
    End Sub

  4. #4
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    ah cool c'est exactement se qui me fallais merci sauf que le code final de ma demande resemble plus a cela

    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
    Sub test()
    Sheets("tableau").Select
     
    Dim rep As Date
    Dim i As Integer
    Dim cpt As Integer
     
    rep = DateAdd("m", -3, InputBox("donne ta date **/**/****"))
     
       With ActiveSheet.PivotTables("Tableau").PivotFields("Mois_Annee")
            cpt = .PivotItems.Count
     
            For i = 1 To .PivotItems.Count
            If rep < .PivotItems(i) Then
                .PivotItems(i).Visible = True
            Else
                .PivotItems(i).Visible = False
            End If
            Next
        End With
    End Sub
    faut juste que je trouve le moyen de taper que mm/aaaa car les personnes pour qui je fais le boulot aime pas trop tapé au clavier

  5. #5
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    j'ai encore qq souci avec ce 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
    Dim rep As Date
    Dim i As Integer
    Dim cpt As Integer
     
    rep = DateAdd("m", -3, InputBox("donne ta date **/**/****"))
     
       With ActiveSheet.PivotTables("Tableau").PivotFields("Mois_Annee")
            cpt = .PivotItems.Count
     
            For i = 1 To .PivotItems.Count
            If rep < .PivotItems(i) Then
                .PivotItems(i).Visible = True
            Else
                .PivotItems(i).Visible = False
            End If
            Next
        End With
    End Sub
    il faudrai que je puisse n'afficher que les dates inférieurs à la date voulu car quand je lance le code pour la date de 01/11/2007 il doit m'afficher le 01/09/2007 01/10/2007 et 01/11/2007 hors quand je mets a jour ma base avec les nouveau chiffres du mois de décembre et janvier et que je veux les date de novembre il m'affiche quand meme décembre et janvier

    si qq1 peu m'aidé la dessu je sais pas quoi faire

    Merci d'avance

Discussions similaires

  1. Fichier source dans un tableau dynamique croisé
    Par kariel dans le forum WinDev
    Réponses: 0
    Dernier message: 23/10/2014, 13h28
  2. Afficher tout dans un tableau dynamique croisé
    Par ManCéRien dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 21/05/2010, 08h41
  3. Réponses: 2
    Dernier message: 19/03/2009, 13h02
  4. Réponses: 3
    Dernier message: 01/09/2008, 13h46
  5. [VBA-E]Afficher tout dans un tableau dynamique croisé
    Par alex_95 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/03/2006, 13h09

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