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 !