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 :

Modifier un graphique à l'aide d'une macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2012
    Messages : 10
    Par défaut Modifier un graphique à l'aide d'une macro
    Bonjour

    J'aimerais à l'aide d'une macro pouvoir ajouter une ligne horizontale sur un graphique en fonction d'une valeur donnée. Une sorte de curseur mais avec une valeur fixée par l'utilisateur.

    Merci

  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
    Si j'ai bien compris, il suffit d'ajouter une nouvelle série avec une valeur constante (choisie par l'utilisateur)

    Exemple avec un graphique incorporé dans la feuille de calcule Feuil1
    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
    Sub InsertLigne()
    Dim i As Integer
    Dim Nb As Double
     
    Application.ScreenUpdating = False
    With Worksheets("Feuil1")                        'Adapte le nom de la feuille contenant l'objet graphique
        If .ChartObjects.Count >= 1 Then
            With .ChartObjects(1).Chart
                'On supprime toutes les séries sauf la série 1
                If .SeriesCollection.Count > 1 Then
                    For i = .SeriesCollection.Count To 2 Step -1
                        .SeriesCollection(i).Delete
                    Next i
                End If
                'L'utilisateur saisit la valeur pour laquelle il  veut tracer la ligne sur le graphique
                Nb = Val(InputBox("Entrer la valeur de la ligne"))
                If Nb <> 0 Then .SeriesCollection.NewSeries.Values = Tb(Nb, .SeriesCollection(1).Points.Count)
            End With
        End If
    End With
    End Sub
     
    Private Function Tb(ByVal Nbre As Double, ByVal N As Integer) As Double()
    Dim i As Integer
    Dim Res() As Double
     
    ReDim Res(1 To N)
    For i = 1 To N
        Res(i) = Nbre
    Next i
    Tb = Res
    End Function

Discussions similaires

  1. [XL-2007] Modifier niveau dans une liste à l'aide d'une macro
    Par ilovzelda dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/08/2013, 14h28
  2. [VBA-E] Copier une macro dans un fichier à l'aide d'une macro
    Par Capsule dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 09/01/2007, 20h05
  3. Modifier directement le visual basic d'une macro
    Par freya91 dans le forum IHM
    Réponses: 6
    Dernier message: 08/06/2006, 09h58
  4. [VBA-E]Ouvrir une image jpg àl'aide d'une macro
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/03/2006, 09h47
  5. [VBA] Excell : demande d'aide pour une macro
    Par Fealendril dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/01/2006, 16h28

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