la méthode range de l'objet _global a échoué
bonjour
j'ai le problème suivant, j'essaie de donner une valeur à des series de données dans un graphique excel. par moment c'est bon sans que je ne sache réellement ce que j'ai fait (c'était bon hier) et depuis ce matin ce n'est pas bon. jai le message:la méthode range de l'objet _global a échoué au niveau du code en rouge
voici mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| For Each sh In Sheets
For Each Graph In sh.ChartObjects
Windows("statjourfull.xls").Activate
Sheets("Comviva").Activate
Graph.Chart.SetSourceData Source:=Range(sourcedata1(code, mam))
'Graph.Name
Next Graph
Next sh
End Sub |
voici une partie de mon code: sourcedata1. et c'est ok si je mets juste
Code:
sourcedata1 = "Comviva!$A$2:$Y$2
Code:
1 2 3 4 5 6 7 8 9 10
| Public Function sourcedata1(nombre, mam)
'Windows("statjourfull.xls").Activate
'Sheets("Comviva").Activate
If nombre = "code1" Then
If mam = "ENGINE1" Then
sourcedata1 = "Comviva!$A$2:$Y$2;Comviva!$A$4:$Y$4;Comviva!$A$8:$Y$8;Comviva!$A$10:$Y$10"
End If
...
end function |
merci pour votre aide
La méthode range de l'objet _global a échoué
bonjour
j'ai le problème suivant, j'essaie de donner une valeur à des series de données dans un graphique excel.lorsque j'execute le code pour la première fois soit manuellement ou via le planificateur de taches, j'ai le message d'erreur: la méthode range de l'objet _global a échoué au niveau du code en rouge
je suis obligé dans l'éditeur vba de cliquer sur le bouton réinitialiser, puis sur le bouton arrêter, puis sur le bouton réinitialiser et après le bouton executer et c'est OK. seulement cette methode ne m'arrange pas que je veux lancer automatiquement ce code via le planificateur de tches windows.
voici mon code
Code:
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
|
For Each sh In Sheets
For Each Graph In sh.ChartObjects
Windows("statjourfull.xls").Activate
Sheets("Comviva").Activate
Graph.Chart.SetSourceData Source:=Range(sourcedata1(code, mam))
'Graph.Name
Next Graph
Next sh
End Sub
'voici une partie de mon code: sourcedata1. et c'est ok si je mets juste
'sourcedata1 = "Comviva!$A$2:$Y$2
'le pb se pose quand j'ai sourcedata1 = "Comviva!$A$2:$Y$2;Comviva!$A$4:$Y$4;Comviva!$A$8:$Y$8;Comviva!$A$10:$Y$10"
Public Function sourcedata1(nombre, mam)
'Windows("statjourfull.xls").Activate
'Sheets("Comviva").Activate
If nombre = "code1" Then
If mam = "ENGINE1" Then
sourcedata1 = "Comviva!$A$2:$Y$2;Comviva!$A$4:$Y$4;Comviva!$A$8:$Y$8;Comviva!$A$10:$Y$10"
End If
...
end function |
merci pour votre aide
la méthode range de l'objet global a échoué
bonjour
j'ai le problème suivant:
j'essaie de donner des valeurs à des series d'un graphe sous excel en utilisant vba. lorsque j'execute directement la procedure j'ai l'erreur: la méthode range de l'objet global a échoué.
mais lorsque je clique sur le bouton réinitialiser puis arrêter puis réinitialier et après executer tout se passe bien ( pas d'erreur). quelqu'un pourrait il m'expliquer l'impact de l'action : réinitialiser --> arrêter --> réinitialier --> executer sur mon code. comment pourrais je l'integrer dans mon code pour eviter de l'executer manuellement. ci-dessous mon code. l'erreur est au niveau de la partie en rouge merci de noter aussi que si je limite sourcedata1 à un seul range je n'ai aucun problème ie sourcedata1 = "Comviva!$A$2:$Y$2"
Code:
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
|
Sub graphiquecomviva()
'
' Macro3225 Macro
'
' Touche de raccourci du clavier: Ctrl+o
'
'Dim Graph As ChartObject
Dim mam, code, visible As String
Dim pos As Integer
Dim sh As Worksheet, Graph As ChartObject
For Each sh In Sheets
If sh.Name = "Comviva" Then
For Each Graph In sh.ChartObjects
pos = InStr(Graph.Name, "c")
mam = Mid(Graph.Name, 1, pos - 1)
code = Mid(Graph.Name, pos, 5)
Windows("statjourfull.xls").Activate
Sheets("Comviva").Activate
Graph.Chart.SetSourceData Source:=Range(sourcedata1(code, mam))
Next Graph
Next sh
End Sub |
et ci-dessous une partie de mon code sourcedata1
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
Public Function sourcedata(nombre, mam)
If nombre = "code1" Then
If mam = "ENGINE1" Then
sourcedata1 = "Comviva!$A$2:$Y$2;Comviva!$A$4:$Y$4;Comviva!$A$8:$Y$8;Comviva!$A$10:$Y$10"
End If
If mam = "ENGINE2" Then
sourcedata1 = "Comviva!$A$12:$Y$12;Comviva!$A$14:$Y$14;Comviva!$A$18:$Y$18;Comviva!$A$20:$Y$20"
End If
...
...
end if
end function |
merci pour votre aide