macro Excel VBA : pb dans la création automatique de graphiques

macro Excel VBA : pb dans la création automatique de graphiques - VB/VBA/VBS - Programmation

Marsh Posté le 03-02-2009 à 22:40:43    

Bonjour,
je cherche à créer des graphiques de manière automatique sous VBA. Le concept tourne exactement autour du sujet 101231 mais je n'ai rien compris de ses lignes de code (désolé  :( ).
 
Les graphiques d'excel sont dynamique, c'est-à-dire que à chaque fois qu'on créé un graphique, on est obligé de laisser les données sources pour que ce graphique "existe". Si on supprime les données source, plus de graphique ! Bref, je contourne ce piti problème en stockant toutes les données dont je veux obtenir un graphique.
 
Je cherche à tracer des graphes dont les données pour chacun se trouvent sur 2 lignes, => données du graphe 1 sur les lignes 3&4, du graphe 2 sur les lignes 5&6, etc...
 
Mon problème est que ma ligne de code suivante est mal écrite au niveau du range("D"&chr(A),.......) . Pourriez-vous m'aider à corriger ce problème svp ???  :sweat:  
 

Spoiler :


Sub Graphiques()
'
Sheets("Data2" ).Select
 
For A = 2 To Cells(3, 1).Value Step 2
For B = 3 To Cells(4, 1).Value Step 2
 
Range("D" & Chr(A), "O" & Chr(B)).Select
    Charts.Add
    ActiveChart.ChartType = xlColumnStacked
    ActiveChart.SetSourceData Source:=Sheets("Data2" ).Range("D" & Chr(A), "O" & Chr(B)), PlotBy:= _
        xlColumns
    ActiveChart.Location Where:=xlLocationAsObject, Name:="Graphiques"
    With ActiveChart
        .HasTitle = False
        .Axes(xlCategory, xlPrimary).HasTitle = False
        .Axes(xlValue, xlPrimary).HasTitle = False
    End With
Next B
Next A
 
End Sub


 
Merci beaucoup pour votre précieuse aide  :love:

Reply

Marsh Posté le 03-02-2009 à 22:40:43   

Reply

Marsh Posté le 04-02-2009 à 09:20:13    

Citation :

ma ligne de code suivante est mal écrite au niveau du range("D"&chr(A),.......)

Comment le voyez-vous ? Quel est le message d'erreur, s'il y en a un ? Quel est le problème, s'il n'y a pas de message d'erreur ?
Essayez :

Range("D" & A & ":O" & B).Select


Reply

Marsh Posté le 04-02-2009 à 10:30:19    

olivthill a écrit :

Citation :

ma ligne de code suivante est mal écrite au niveau du range("D"&chr(A),.......)

Comment le voyez-vous ? Quel est le message d'erreur, s'il y en a un ? Quel est le problème, s'il n'y a pas de message d'erreur ?
Essayez :

Range("D" & A & ":O" & B).Select




 
 
Bonjour, merci pour ta réponse !
Le message d'erreur était le error 1004 : "Method 'Range' of Object'_Global' failed...
 
Avec ton écriture l'erreur a disparu ! Le VBA tourne mais je l'ai mal programmé... :heink:  
 
En effet, lorsque le code arrive à next B il incrémente le B comme voulu mais laisse le A inchangé... L'idée serait d'incrémenter A & B en même temps. Une idée de comment faire ? :??:

Reply

Marsh Posté le 12-02-2009 à 09:01:57    

[quote]

rookievba a écrit :


 
 
Bonjour, merci pour ta réponse !
Le message d'erreur était le error 1004 : "Method 'Range' of Object'_Global' failed...
 
Avec ton écriture l'erreur a disparu ! Le VBA tourne mais je l'ai mal programmé... :heink:  
 
En effet, lorsque le code arrive à next B il incrémente le B comme voulu mais laisse le A inchangé... L'idée serait d'incrémenter A & B en même temps. Une idée de comment faire ? :??:


 
 
12/02 :
Bonjour à tous!
Bon ben j'ai trouvé le p'tit truc qui fait bien mal une fois qu'on l'a découvert.  
En faite, mes lignes concernées par les next A et next B se suivent. Et la p'tite astuce (oui oui, je sais j'étais pas réveillé ce jour là :cry: ) est tout simplement de faire un next A et de remplacer ce B par B = A+1 !!!!!
 
Merci pour votre aide!
 
A bientôt !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed