Problème Instrcutions code VBA - Erreur 438
Résolu
Kayna.86
Messages postés
42
Statut
Membre
-
Kayna.86 Messages postés 42 Statut Membre -
Kayna.86 Messages postés 42 Statut Membre -
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..
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..
A voir également:
- Erreur 438 vba
- Erreur t32 ✓ - Forum Livebox
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
4 réponses
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
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
Bonjour Eric,
Voici le fichier sur le quel je travaille.
https://www.cjoint.com/?0KfatFjpdxw
Merci d'avance!
Kayna
Voici le fichier sur le quel je travaille.
https://www.cjoint.com/?0KfatFjpdxw
Merci d'avance!
Kayna
Bonjour,
https://www.cjoint.com/?BKfjSyVlaKb
eric
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
eric
Kayna