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 :

Création graphique en fonction de dates sélectionnées dans Userform [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 10
    Par défaut Création graphique en fonction de dates sélectionnées dans Userform
    Bonjour à tous,

    J'ai parcouru le forum pour trouver une réponse à ma question, mais rien ne s'y prête exactement.

    J'ai une base de données d'un an:
    Colonne A: Date
    Colonne B: Prix

    J'aimerais juste faire une macro qui me permette d'afficher le graphique en fonction de la date, mais pas sur toute la période justement et c'est bien là le problème, j'ai créé un User form qui permette de rentrer une date de début et une date de fin mais je ne vois pas comment faire en sorte que selon ces dates sélectionnées le graphique s'affiche juste pour la période sélectionnée?

    En esperant avoir été clair (je suis beginner en VBA)

    Merci d'avance et à bientôt

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour
    Sans vba et sans userform.
    Crée un graphique croisé dynamique (GCD) avec filtre chronologique (du moins à partir d'Excel 2007).

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 10
    Par défaut
    Merci beaucoup pour votre réponse mais je suis contraint d'utiliser VBA et un Userform.

    Ce qui bloque là dedans c'est justement que le graphique doit s'afficher en fonction de la date que l'on choisit dans la Userform

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Et c'est justement ce que fait le filtre chronologique d'un GCD. L'enregistreur de macro te donnera tous les ingrédients.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 10
    Par défaut
    Ok merci!
    Je vais donc enregistrer une macro pour décortiquer la code
    Je sens que je suis reparti pour me casser la tête dessus quelques heures

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Si c'est seulement quelques heures, ça serait plus profitable

    Exemple pour un coup de main

    Dans Feuil1, tu crée un Graphique Croisé Dynamique reportant en abscisse les dates et en ordonnées les Prix
    Ton GCD est nommé par exemple "Tableau croisé dynamique1"

    Sur ton userform tu as 2 DTPicker et un Bouton.
    Le code associé à ce bouton est le suivant:
    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
    Private Sub CommandButton1_Click()
    Dim Pvt As PivotTable
    Dim Fld As PivotField
    Dim DD As Long, DF As Long
     
    DD = CLng(Me.DTPicker1.Value)                                        'Date de début
    DF = CLng(Me.DTPicker2.Value)                                        'Date de fin
    Set Pvt = Sheets("Feuil1").PivotTables("Tableau croisé dynamique1")  'On instancie ton GCD
    Set Fld = Pvt.PivotFields("Date")                                    'On instancie le champs date
    Fld.ClearAllFilters                                                  'On supprime tous les filtres
    Fld.PivotFilters.Add Type:=xlDateBetween, Value1:=DD, Value2:=DF     'On ajoute notre filtre chronologique entre DD et DF
    Set Fld = Nothing                                                    'On vide nos variable
    Set Pvt = Nothing
    Unload Me                                                            'On décharge l'userform
    End Sub

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

Discussions similaires

  1. [Débutant] Récupérer la date sélectionnée dans un contrôle Calendar
    Par Afaf001 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 21/08/2013, 13h06
  2. Réponses: 2
    Dernier message: 13/12/2011, 11h58
  3. Réponses: 0
    Dernier message: 06/05/2011, 17h12
  4. Réponses: 3
    Dernier message: 02/03/2011, 11h27
  5. Réponses: 4
    Dernier message: 07/08/2009, 13h39

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