Changement office 2003 / 2007 pour les graphs en vba ???

romain3430 Messages postés 16 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 31 août 2009 - 28 avril 2009 à 08:39
romain3430 Messages postés 16 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 31 août 2009 - 28 avril 2009 à 12:51
Bonjour,

J'ai créé un module pour la création d'un  graph , je l'ai fait sous office 2007 , en alimentant 2 tableaux (abscisses et ordonnées) le souci c'est que sous 2003, il aime pas et me dit : xvalues non reconnus....

Quelqu'un aurait une idée ? est ce une incompatibilité entre versions ?

Sub graphique_parties()

    nombre_ligne = Sheets("Statistiques").Range("a1").CurrentRegion.Rows.Count                           
       
    Abscisses2(0) = "Q rue"                                                                     
    Abscisses2(1) = "Q quartier"                                                                 
    Abscisses2(2) = "Q voies"                                                                 
    
    Ordonnees2(0) = Application.CountIf(Sheets("Statistiques").Range("g2:g" & nombre_ligne), "=rue")    

    Ordonnees2(1) = Application.CountIf(Sheets("Statistiques").Range("g2:g" & nombre_ligne), "=quartier")  

    Ordonnees2(2) = Application.CountIf(Sheets("Statistiques").Range("g2:g" & nombre_ligne), "=voie")   
       
   
    Charts.Add                                                                                            

        ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Répartition"                  
    
            With ActiveChart
    
                .SeriesCollection.NewSeries
                .SeriesCollection(1).XValues = Abscisses2()                                                 
                .SeriesCollection(1).Values = Ordonnees2()                                                  
                .ChartType = xl3DPieExploded                                                              
                .HasTitle = True
                .ChartTitle.Characters.Text = "Répartitions "
                .ChartArea.Width = 640                                                                      
                .ChartArea.Height = 480
                .ApplyDataLabels Type:=xlDataLabelsShowLabelAndPercent, LegendKey _
                :=False, HasLeaderLines:=True
                    
            End With

13 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 avril 2009 à 08:55
étrange... la doc 2003 le mentionne bien:

http://msdn.microsoft.com/en-us/library/aa215988(office.11).aspx


quel est le message d'erreur exact ?
0
romain3430 Messages postés 16 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 31 août 2009
28 avril 2009 à 09:36
Erreur d'éxecution 1004:

Impossible de définir la propriété x values de la classe Series ...
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 avril 2009 à 09:58
comment est définit ton tableau ?
0
romain3430 Messages postés 16 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 31 août 2009
28 avril 2009 à 10:03
Public Abscisses2(0 To 2) As String
Public Ordonnees2(0 To 2) As Integer
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 avril 2009 à 10:06
tentes d'en faire un tableau de Variant (la doc est pas claire claire)
0
romain3430 Messages postés 16 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 31 août 2009
28 avril 2009 à 10:08
ok merci, je tente...
0
romain3430 Messages postés 16 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 31 août 2009
28 avril 2009 à 10:11
Marche pas .... ça me rends  fou, ça tourne sur 2007 !
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 avril 2009 à 10:13
c'est surtout bête de l'avoir codé en 2007 sachant qu'il fallait une compatibilité avec 2003 ^^
0
romain3430 Messages postés 16 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 31 août 2009
28 avril 2009 à 10:19
Disons que je pensais pas que ça marcherai pas sur 2003, et sur mon portable c'est 2007 et en cours c'est 2003 ...
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 avril 2009 à 10:29
Dim oChart As Chart
Dim oSeries As Series
Dim Abscisses2 As Variant
Dim Ordonnees2 As Variant

ReDim Abscisses2(2)
Abscisses2(0) = "Rue"
Abscisses2(1) = "Route"
Abscisses2(2) = "Avenue"

ReDim Ordonnees2(2)
Ordonnees2(0) = 5
Ordonnees2(1) = 8
Ordonnees2(2) = 3

Set oChart = Charts.Add
With oChart
.Location xlLocationAsNewSheet, "Répartition"
.ChartType = xl3DPieExploded

Set oSeries = .SeriesCollection.NewSeries
oSeries.XValues = Abscisses2
oSeries.Values = Ordonnees2
End With




testé avec succès en 2003.
0
romain3430 Messages postés 16 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 31 août 2009
28 avril 2009 à 11:29
ok je teste et je te dis si ça fonctionne chez moi,

A quoi sert le redim ?

merci beaucoup !
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 avril 2009 à 11:33
redim ?
changer la taille d'un tableau

ici, pour en spécifier la taille
j'utilise des Variant ; des variables qui peuvent stocker tous types de données

le Redim, là, permet de faire savoir que c'est un tableau (de trois cases)
0
romain3430 Messages postés 16 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 31 août 2009
28 avril 2009 à 12:51
ok merci !
0
Rejoignez-nous