Problème de compatibilité VBA sous Excel 2013 lu sous xl2010

Bonjour à tous et à toutes, et surtout bonne année !

Je consulte ce forum depuis un petit bout de temps car j'ai commencé à essayer de programmer un petit peu en VBA pour mon travail, et j'ai pu avancer vraiment rapidement grâce à la plupart des posts ou tutos de ce site !

Cependant je me trouve aujourd'hui devant une impasse... En effet, j'ai programmer mon travail sous la version 2013 d'Excel, et mon pc du boulot a excel 2010, et à priori ce n'est pas le même langage, ou du moins il y a des différences, mais je ne vois vraiment pas comment faire !

Il faut ouvrir la page testmacro, c'est ma page avec des valeurs test, la macro concernée est le module "MacroSemaine" (edit : j'ai ajouter en PJ mon dossier en version 2013).

Voilà le codage sous la version d'Excel 2013 de la partie qui me pose problème (c'est pour afficher un camembert) :

'Affiche les resultats concernant les phases

Range("AB1").Value = Int((NbrePHconf / NbrePHctrl) * 100)

Range("AB2").Value = Int(((NbrePHctrl - NbrePHconf) / NbrePHctrl) * 100)

ActiveSheet.Shapes.AddChart2(251, xlPie).Select

ActiveChart.SetSourceData Source:=Range("AA1:AB2")

ActiveChart.ClearToMatchStyle

ActiveChart.ChartStyle = 257

ActiveChart.SetElement (msoElementDataLabelBestFit)

ActiveChart.SetElement (msoElementChartTitleAboveChart)

ActiveChart.ChartTitle.Text = "Semaine " & SemaineChoisie

Selection.Format.TextFrame2.TextRange.Characters.Text = "Semaine " & SemaineChoisie

With Selection.Format.TextFrame2.TextRange.Characters(1, 8).ParagraphFormat

.TextDirection = msoTextDirectionLeftToRight

.Alignment = msoAlignCenter

End With

ActiveChart.Parent.Top = Range("E20").Top

ActiveChart.Parent.Left = Range("E20").Left

Que j'aimerai passer avec le langage 2010 !

Merci d'avance pour vos réponses et n'hésitez pas à me dire s'il y a besoin de plus d'infos !

Bonjour et bienvenu sur le forum

ton problème vient de ceci je pense :

ActiveChart.SetElement (msoElementDataLabelBestFit)

car d'après le site de microsoft c'est une fonctionnalité qui est apparue avec excel 2013 et qui n 'existe donc pas pour excel 2010...

https://msdn.microsoft.com/fr-fr/library/office/ff193844.aspx

je ne sais pas ce fait cette instruction mais est elle adaptable a 2010 ???

Au passage ton fichier n'a pas été joint car visiblement trop gros (+300ko)

Fred

Bonjour Fred, merci pour ta réponse !

En effet, je n'avais pas vu... Je vais essayer ce que tu me proposes !

Je crois que le principal problème est le fait que le codage des graphiques a pas mal évolué entre la version 2010 et 2013, ce qui expliquerait qu'il ne soit pas reconnu dans la version antérieure !

Merci encore, mon problème est résolu !

Rechercher des sujets similaires à "probleme compatibilite vba 2013 xl2010"