Compabilité Excel 2003 vers 2010

Maxou -  
 a -
Bonjour,

J'ai des fichiers excel 2003 avec Macro que je veux sur la version 2010. J'ai des arrêts de ma macro sur certaines instruction et notament la partie construction de graphiques, du type
Set ch = ws.ChartObjects.Add(50, 40, 200, 100)... Est ce que qu'il existe une équivalence opu un autre moyen pour corriger ces buggs ?

D'avnace merci pour le tuyau...

Maxou
A voir également:

1 réponse

lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour,
Avec les version 2007 et >> Option Explicit est mis par défaut. (Obligation de déclarer les variables)
Je ne vois que ça comme erreur, j'ai testé ton code et bien déclarer il fonctionne.
Sinon, dis au moins le N° et le libellé de l'erreur.
A+
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
1
maxou
 
Merci pour le tuyau. Effectivement je n'ai pas forcement déclaré toute les variables. Je vais donc modifier mes macros en conséquence. Si probléme particulier, je te rencontacterai. En tout cas super merci et bonne journée.
0
a
 
Re-Bonjour;

J'ai déclaré mes variables mais cela ne fonctionne tjrs pas. Voila un extrait de mon code ci dessous, il bug à la partie "Construction du graphique". Message d'erreur "Erreur d'execution+ nombre.... " Cet objet n'a pas de titre..." D'avance merci pour ton aide. Je te previens je bidouille mais je ne suis pas un pro !!! Maxou

'Declaration des constantes utilisee dans ce module
Const sSYNT_GRAPH3_TITRE As String = " Couverture pays (Hors transport)"
Const sSYNT_GRAPH3_NOM_ORD As String = "En jours"
Const Pos_Graph3_LG As Long = 0 'Position coin gauche haut + 4 par rapport a graphique 2
Const Pos_Graph3_LD As Long = 365 'Largeur du graphique
Const Pos_Graph3_PH As Long = 234 'Meme postion que Graph 2
Const Pos_Graph3_H As Long = 265 'Meme postion que Graph 2
'

Sub Graphique3(wbFICHIER_MODELE, sSYNTHESE_MODELE, Plage_Graphique3)
Dim ws As Object
Dim ch As ChartObject

'Affecte le classeur en l'onglet modele a la valeur "ws"
Set ws = Workbooks(wbFICHIER_SYNTHESE).Sheets(sSYNTHESE_MODELE)

'Selectionne la plage de donnee pour construire le graphique
'correpond a la plage "N3:N6;x3:x6" : x = plus ancienne semaine definie pour construire l'historique
ws.Range(Plage_Graphique3).Select


Set ch = ws.ChartObjects.Add(Pos_Graph3_LG, Pos_Graph3_LD, Pos_Graph3_PH, Pos_Graph3_H)
ch.Chart.ChartWizard Source:=Worksheets(sSYNTHESE_MODELE).Range(Plage_Graphique3) _
, Gallery:=xlColumn, Format:=2, PlotBy:=xlColumns, CategoryLabels:=1, SeriesLabels:=1 _
, CategoryTitle:="", ValueTitle:=sSYNT_GRAPH3_NOM_ORD _
, HasLegend:=True, Title:=sSYNTHESE_MODELE & " - " & LBL_TOP & Nb_TOP & sSYNT_GRAPH3_TITRE

'Selection du graphique, ligne indispensable pour la suite de la mise en forme
ActiveSheet.ChartObjects(3).Activate
ActiveChart.ChartArea.Select

'Defini les donnee de l'axe principal "Couvertue en jours"
ActiveSheet.ChartObjects(3).Activate
ActiveChart.SeriesCollection(2).Select
Selection.ChartType = xlColumnStacked 'Type graphique : Histogramme

ActiveSheet.ChartObjects(3).Activate
ActiveChart.SeriesCollection(2).Select
Selection.Border.Weight = xlThin
Selection.Border.LineStyle = xlNone
Selection.Shadow = False
Selection.Interior.ColorIndex = sSYNTHESE_COUL_COUVERTURE_JOURS
0