Bonjour,
Je me suis rendu compte grâce à Robert que l'instruction ActiveSheet.Shapes.AddChart.Select n'existait pas sous 2003
Je sais aussi que certaines instructions présentes sous 2003 ne le sont plus sous 2007 (quelle scandale !).
=> Y a-t-il une solution qui fonctionnerait sous 2007 & 2003 (voire les versions antérieures : je bosse en Inde et la gestion des licences ici ça n'existe pas) ?
Ou alors puis-je tester la version d'Excel qui exécute la macro et lui faire alors exécuter un code différent fonction de la valeur du test ?
Voici mon code actuel (qui tourne bien sous 2007) :
Merci pour votre aide.
Je me suis rendu compte grâce à Robert que l'instruction ActiveSheet.Shapes.AddChart.Select n'existait pas sous 2003
Je sais aussi que certaines instructions présentes sous 2003 ne le sont plus sous 2007 (quelle scandale !).
=> Y a-t-il une solution qui fonctionnerait sous 2007 & 2003 (voire les versions antérieures : je bosse en Inde et la gestion des licences ici ça n'existe pas) ?
Ou alors puis-je tester la version d'Excel qui exécute la macro et lui faire alors exécuter un code différent fonction de la valeur du test ?
Voici mon code actuel (qui tourne bien sous 2007) :
VB:
'Ajout du graphique
Sheets("Evolution").Select 'Just in case
ActiveSheet.Shapes.AddChart.Select
'Sélection de la plage de données
With ActiveChart
.SetSourceData Source:=Range(Cells(24, 3), Cells(ActiveSheet.Range("C65536").End(xlUp).Row, 3 + i))
.ChartType = xlLineMarkers
.Axes(xlCategory).MajorUnit = 7
End With
'Déplacement du graphique
With ActiveSheet.ChartObjects(ActiveSheet.ChartObjects.Count) 'Placement en B3
.Left = Range("B3:L23").Left + 3
.Top = Range("B3:L23").Top + 3
.Width = Range("B3:L23").Width - 2 * 3
.Height = Range("B3:L23").Height - 2 * 3
End With
Merci pour votre aide.
Dernière édition: