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 :

Automatiser la sélection des filtres du TDC grâce à une macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juillet 2020
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2020
    Messages : 24
    Par défaut Automatiser la sélection des filtres du TDC grâce à une macro
    Bonjour,

    Toutes les semaines, je dois faire le compte rendu du pourcentage de défauts que nous avons eu sur nos machines en fonction des OF. J'ai donc créé un graphique dynamique croisé, mais pour gagner en efficacité, j'aurais voulu faire une macro qui puisse sélectionner uniquement mes 6 dernières semaines. Par exemple, si nous sommes en semaine 27, je voudrais que la macro sélectionne, dans le filtre "SEMAINE" de mon TDC, les semaines 27, 26, 25, 24, 23 et 22.

    Cependant, je n'ai pas vraiment d'expérience dans la programation VBA, et tout ce que j'ai tenté pour l'instant ne fonctionne pas... Si jamais vous avez des proposition, je suis preneur !

    Je vous joint mon fichier excel

    test.xlsm

  2. #2
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Voici un code à insérer dans un module standard.
    Il convient d'adapter, dans le code d'appel, le numéro de semaine et le nombre de semaine.
    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
    Option Explicit
     
    Sub appel()
        FiltreSemaine 27, 6  '******* A ADAPTER : 27 = numéro de semaine; 6 = nombre de semaines
    End Sub
     
    Sub FiltreSemaine(NumSemaine As Integer, NbreSemaine As Integer)
    Dim i As Integer
        With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("SEMAINE")
            For i = 1 To .PivotItems.Count
                If IsNumeric(.PivotItems(i).Name) Then
                    If CInt(.PivotItems(i).Name) > NumSemaine - NbreSemaine And CInt(.PivotItems(i).Name) <= NumSemaine Then
                        .PivotItems(.PivotItems(i).Name).Visible = True
                    Else
                        .PivotItems(.PivotItems(i).Name).Visible = False
                    End If
                End If
            Next
        End With
    End Sub
    Pour demander la saisie du numéro de semaine et du nombre de semaine, utilisez ce code au lieu de la procédure Appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub appel_avec_saisie()
    Dim Nsem As Integer, Nbre As Integer
        Nsem = Application.InputBox(Prompt:="Saisir le numéro de semaine", Title:="Numéro de semaine", Type:=1)
        Nbre = Application.InputBox(Prompt:="Saisir le nombre de semaines", Title:="Nombre de semaines", Type:=1)
        FiltreSemaine Nsem, Nbre
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juillet 2020
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2020
    Messages : 24
    Par défaut
    Re,

    Merci pijaku d'avoir pris du temps pour me répondre. Je viens de tester ton programme, et c'est exactement ce dont j'avais besoin !

    Je vais maintenant pouvoir l'utiliser pour tous mes graphes.

    Encore merci et bonne journée

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

Discussions similaires

  1. Réponses: 31
    Dernier message: 25/05/2013, 12h28
  2. Réponses: 3
    Dernier message: 22/02/2013, 12h13
  3. Réponses: 0
    Dernier message: 14/12/2010, 13h53
  4. Sélection des 7 derniers jours sur une table de faits
    Par Fatah93 dans le forum SAS Base
    Réponses: 4
    Dernier message: 27/04/2009, 14h48
  5. Sélection des 8 premiers caractères d'une chaîne
    Par linooo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/09/2007, 10h15

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