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 :

Graph à partir d'une plage nommée [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 88
    Points : 52
    Points
    52
    Par défaut Graph à partir d'une plage nommée
    Bonjour à tous,

    Voici plusieurs jours que je recherche une solution sur le forum mais je ne trouve pas de tuto ou autres

    Je voudrais construire par VBA un graph dans une feuille à partir d'une plage définie depuis la dernière cellule de la colonne A et une cellule "plus haut" de x lignes de la colonne B. Je sens bien qu'il faudrait selectionner la plage, la nommer mais comment utiliser le nom de cette plage par VBA pour construire le graph ?

    Pourriez vous m'aider s'il vous plait !
    Merci par avance.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Technicien R&D électronique
    Inscrit en
    Novembre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Technicien R&D électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    Pour sélectionner ta plage, tu peux utiliser InputBox.
    Pour ton graphe, tu veux une courbe pour la colonne A et une pour la B ou la colonne B en fonction de A ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 88
    Points : 52
    Points
    52
    Par défaut
    Bonjour Daetheia et merci,

    Il s'agit en fait de tracer l'évolution dans le temps (les jours étant contenus dans la colonne A) d'un paramètre contenu dans une autre colonne B ou C ... sur un intervalle de "remontée dans le temps" de x jours. Mais tout cela fait de manière transparente pour l'utilisateur.

    Par exemple sur 5 jours antérieurs avec une date aujourd'hui au 22/11/2011 :
    Colonne A Colonne B
    A10 = 18/11/2011 B10 = 50
    A11 = 19/11/2011 B11 = 40
    A12 = 20/11/2011 B12 = 35
    A13 = 21/11/2011 B13 = 30
    A14 = 22/11/2011 B14 = 25


    Merci encore du coup de main !

  4. #4
    Membre à l'essai
    Homme Profil pro
    Technicien R&D électronique
    Inscrit en
    Novembre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Technicien R&D électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    J'utilise pratiquement le même principe pour un de mes code.
    Dans le code qui suit, j'ai crée un bouton 'Graphe' qui lors du clic offre le choix de la plage à sélectionner. Tu sélectionnes la plage dans la colonne jour et le graphe ce fait sur cette plage.
    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
    Sub Graphe()
        Dim P As Range
        Dim Plage As Range
        Dim Legraph As ChartObject
     
     
    ' Choix de la plage de donnée
        On Error Resume Next
        Set P = Application.InputBox("Sélectionnez une cellule ou une plage :", Type:=8)
        On Error GoTo 0
        If P Is Nothing Then MsgBox "Sélection annulée"
     
    ' Supprime les graphiques de la feuille activée
        Sheets("Feuil1").Activate
        For Each Legraph In ActiveSheet.ChartObjects
            Legraph.Delete
        Next
     
    ' création de la plage à mettre en graphe
        Set Plage = P
        Set Plage = Union(Plage, Plage.Offset(, 1))
     
     ' Création du graphique
        Charts.Add
        ActiveChart.ChartType = xlLineMarkers  'type de graphe
        ActiveChart.Location _
        Where:=xlLocationAsObject, Name:="Feuil1"   'localisation du graphe
     
        With ActiveChart
            .SetSourceData Source:=Plage, PlotBy:=xlColumns
            .HasTitle = True
            .ChartTitle.Characters.Text = "Titre"
            .Axes(xlCategory, xlPrimary).HasTitle = True
            .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Abscisse"
            .Axes(xlValue, xlPrimary).HasTitle = True
            .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Ordonnée"
        End With
     
        ActiveChart.HasLegend = True
        ActiveChart.Legend.Select
        ActiveChart.SeriesCollection(1).Name = "=""Valeur"""
        Selection.Position = xlRight
     
     
    End Sub

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 88
    Points : 52
    Points
    52
    Par défaut
    Un GRAND MERCI Daetheia,

    C'est exactement ce que je cherchai ! Il ne reste plus qu'à l'adapter !

    Merci encore !
    A+

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

Discussions similaires

  1. [XL-2007] TCD à partir d'une plage nommée vers une nouvelle feuille nommée
    Par MushuLeDragon dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/01/2015, 10h49
  2. [Toutes versions] Affichage d'une plage nommée à partir d'une liste déroulante
    Par tartar1119 dans le forum Excel
    Réponses: 0
    Dernier message: 20/08/2013, 15h40
  3. Auto completion d'une cellule à partir d'une plage nommée
    Par p2n2k2 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/01/2009, 17h52
  4. Mettre une plage nommée dans un ComboBox
    Par Swiper dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 18/07/2007, 08h51
  5. Adresse de Cellule d'une plage nommée
    Par edelweisseric dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 22/06/2007, 09h13

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