Bonjour,
J'ai une macro excel qui me permet de tracer un certains nombres d'histogrammes.
Au cours de la création de l'histogramme, celui-ci est redimensionné afin d'être placé à la suite des autres sur une feuille, et c'est là que le bug intervient.
Jusqu'à présent (lors de mon utilisation de cette macro sous Excel 2003) tout fonctionnait correctement et c'est récemment, lors de ma migration vers Excel 2010, que ça fonctionne plus du tout.
Voici la partie du code concernée :
ActiveChart.PlotArea.Select
With Selection.Border
.ColorIndex = 16
.Weight = xlThin
.LineStyle = xlContinuous
End With
Selection.Interior.ColorIndex = xlNone
ActiveWindow.Visible = False
' Réduction de la taille
Selection.ShapeRange.ScaleWidth 0.7, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.ScaleHeight 0.75, msoFalse, msoScaleFromTopLeft
Select Case gra
Case 1: Selection.ShapeRange.IncrementLeft -230.25
Selection.ShapeRange.IncrementTop -157.5
Case 2: Selection.ShapeRange.IncrementLeft 85
Selection.ShapeRange.IncrementTop -157.5
Case 3: Selection.ShapeRange.IncrementLeft 405
Selection.ShapeRange.IncrementTop -157.5
Case 4: Selection.ShapeRange.IncrementLeft -230.25
Selection.ShapeRange.IncrementTop 66
Case 5: Selection.ShapeRange.IncrementLeft 85
Selection.ShapeRange.IncrementTop 66
Case 6: Selection.ShapeRange.IncrementLeft 405
Selection.ShapeRange.IncrementTop 66
Case 7: Selection.ShapeRange.IncrementLeft -230.25
Selection.ShapeRange.IncrementTop 286
Case 8: Selection.ShapeRange.IncrementLeft 85
Selection.ShapeRange.IncrementTop 286
Case 9: Selection.ShapeRange.IncrementLeft 405
Selection.ShapeRange.IncrementTop 286
End Select
Le programme plante sur la ligne en Rouge en me donnant une erreur '438' Propriété ou méthode non gérée par cet objet.
J'ai parcouru le forum et cela semble très proche de ce problème https://www.excel-downloads.com/thr...ntionnement-dune-fenetre-decommentaire.30341/
Il semble donc que le problème provienne de ma méthode de sélection et que l’utilisation d'un With soit plus adapté.
Je change donc la ligne rouge par :
With ActiveChart.PlotArea
.Shape.ScaleWidth 0.7, msoFalse, msoScaleFromTopLeft
.Shape.ScaleHeight 0.75, msoFalse, msoScaleFromTopLeft
End With
Et j'obtiens le même message d'erreur...
Je ne comprends pas comment modifier tout ça pour ne plus avoir cette erreur...
Merci de votre aide
J'ai une macro excel qui me permet de tracer un certains nombres d'histogrammes.
Au cours de la création de l'histogramme, celui-ci est redimensionné afin d'être placé à la suite des autres sur une feuille, et c'est là que le bug intervient.
Jusqu'à présent (lors de mon utilisation de cette macro sous Excel 2003) tout fonctionnait correctement et c'est récemment, lors de ma migration vers Excel 2010, que ça fonctionne plus du tout.
Voici la partie du code concernée :
ActiveChart.PlotArea.Select
With Selection.Border
.ColorIndex = 16
.Weight = xlThin
.LineStyle = xlContinuous
End With
Selection.Interior.ColorIndex = xlNone
ActiveWindow.Visible = False
' Réduction de la taille
Selection.ShapeRange.ScaleWidth 0.7, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.ScaleHeight 0.75, msoFalse, msoScaleFromTopLeft
Select Case gra
Case 1: Selection.ShapeRange.IncrementLeft -230.25
Selection.ShapeRange.IncrementTop -157.5
Case 2: Selection.ShapeRange.IncrementLeft 85
Selection.ShapeRange.IncrementTop -157.5
Case 3: Selection.ShapeRange.IncrementLeft 405
Selection.ShapeRange.IncrementTop -157.5
Case 4: Selection.ShapeRange.IncrementLeft -230.25
Selection.ShapeRange.IncrementTop 66
Case 5: Selection.ShapeRange.IncrementLeft 85
Selection.ShapeRange.IncrementTop 66
Case 6: Selection.ShapeRange.IncrementLeft 405
Selection.ShapeRange.IncrementTop 66
Case 7: Selection.ShapeRange.IncrementLeft -230.25
Selection.ShapeRange.IncrementTop 286
Case 8: Selection.ShapeRange.IncrementLeft 85
Selection.ShapeRange.IncrementTop 286
Case 9: Selection.ShapeRange.IncrementLeft 405
Selection.ShapeRange.IncrementTop 286
End Select
Le programme plante sur la ligne en Rouge en me donnant une erreur '438' Propriété ou méthode non gérée par cet objet.
J'ai parcouru le forum et cela semble très proche de ce problème https://www.excel-downloads.com/thr...ntionnement-dune-fenetre-decommentaire.30341/
Il semble donc que le problème provienne de ma méthode de sélection et que l’utilisation d'un With soit plus adapté.
Je change donc la ligne rouge par :
With ActiveChart.PlotArea
.Shape.ScaleWidth 0.7, msoFalse, msoScaleFromTopLeft
.Shape.ScaleHeight 0.75, msoFalse, msoScaleFromTopLeft
End With
Et j'obtiens le même message d'erreur...
Je ne comprends pas comment modifier tout ça pour ne plus avoir cette erreur...
Merci de votre aide