Problème Instrcutions code VBA - Erreur 438 [Résolu/Fermé]

Signaler
Messages postés
42
Date d'inscription
mercredi 31 octobre 2012
Statut
Membre
Dernière intervention
17 avril 2013
-
Messages postés
42
Date d'inscription
mercredi 31 octobre 2012
Statut
Membre
Dernière intervention
17 avril 2013
-
Bonjour à tous,


Je souhaite ajuster l'échelle des ordonnées de mon graphique en fonction des données représentées pas le graphique.
Pour cela, j'ai calculé dans la colonne U et V les valeurs min et max respectivement de chaque séries de données (listé par ligne).
Je souhaiterais à l'aide d'une macro dans VBA, prendre en compte les valeurs max et min calculer pour définir les bornes de l'échelle Y de mon graph.

Voici le code que j'ai écrit:

Sub Graphconso_Scale_definition()
Dim Conso As Worksheet
Workbooks(1).Worksheets(4).Activate
With ActiveChart
.Axes(xlValue).MinimumScale = Range(Application.Addresse(Application.Match(Range("Series"), Range("Data"), 0), 21)).Value
.Axes(xlValue).MinimumScale = Range(Application.Addresse(Application.Match(Range("Series"), Range("Data"), 0), 22)).Value
End With
End Sub

Mon souci étant que la ligne . ".Axes(xlValue).MinimumScale = Range(Application.Addresse(Application.Match(Range("Series"), Range("Data"), 0), 21)).Value"

Génère une erreur de type "438: object does not support this property or method"

J'ai beau chercher, je n'arrive pas à résoudre ce problème.

Quelqu'un aurait-il une solution à mon problème? Je tiens à signaler que je suis complètement novice en matière de programme tion VBA. Il se peut donc que ce qui m'échappe soit évident..

4 réponses

Messages postés
42
Date d'inscription
mercredi 31 octobre 2012
Statut
Membre
Dernière intervention
17 avril 2013
6
Bonjour Eriiic!


Merci infiniment: ça marche parfaitement! :-)


Kayna
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
23609
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
3 novembre 2020
6 438
ok, n'oublie pas de mettre en résolu.
eric
Messages postés
42
Date d'inscription
mercredi 31 octobre 2012
Statut
Membre
Dernière intervention
17 avril 2013
6
C'est fait!

Kayna
Messages postés
23609
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
3 novembre 2020
6 438
Bonjour,

pour commencer .Addresse s'écrit sans e : .Address

Et sans fichier joint pas grand monde ne pourra tester.
Déposer le fichier xls (réduit au nécessaire et anonymisé) sur cjoint.com et coller ici le lien fourni.

eric
Messages postés
42
Date d'inscription
mercredi 31 octobre 2012
Statut
Membre
Dernière intervention
17 avril 2013
6
Bonjour Eric,


Voici le fichier sur le quel je travaille.


https://www.cjoint.com/?0KfatFjpdxw


Merci d'avance!


Kayna
Messages postés
23609
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
3 novembre 2020
6 438
Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range
    If Target = [Series] Then
        'rechercher ligne Data
        Set c = [Data].Columns(1).Find([Series].Value, LookIn:=xlValues, lookat:=xlWhole)
        If c Is Nothing Then MsgBox ("Donnée absente."): Exit Sub
        ' mini maxi
        ActiveSheet.ChartObjects("Graph_Conso").Activate
        With ActiveChart.Axes(xlValue)
            .MinimumScale = Range("U" & c.Row)
            .MaximumScale = Range("W" & c.Row)
        End With
    End If
    [Series].Select
End Sub

https://www.cjoint.com/?BKfjSyVlaKb

eric