Je voudrais ajouter des formes et les modifier à partir de vba Access 2010 dans une feuille de calcul Excel.
Le code que j'ai écrit sur la base de la "macro d'enregistrement" d'Excel est le suivant :
StrSheetName = "Menu"
wkbModels.Sheets.Add(before:=wkbModels.Sheets("Models")).Name = StrSheetName
Set wksModelsMenu = wkbModels.Sheets(StrSheetName)
With wksModelsMenu
iLeft = 1
iTop = 1
iWidth = 125
iHeight = 200
.Shapes.AddPicture fDirectory & "logo.jpg", False, True, iLeft, iTop, iWidth, iHeight
iLeft = 240
iTop = 1
iWidth = 300
iHeight = 125
.Shapes.AddShape(msoShapeRoundedRectangle, iLeft, iTop, iWidth, iHeight).Select
.Shapes(1).Range.ShapeStyle = msoShapeStylePreset10
.Shapes(1).Range.TextFrame2.TextRange.Font.Bold = msoTrue
.Shapes(1).Range.TextFrame2.VerticalAnchor = msoAnchorMiddle
.Shapes(1).Range.TextFrame2.TextRange.Characters.Text = _
"TEST TEST TEST"
.Shapes(1).Range.TextFrame2.TextRange.Characters.ParagraphFormat.Alignment = msoAlignCenter
.Shapes(1).Range.TextFrame2.TextRange.Characters.Font.Bold = msoTrue
End With
Sur les instructions ".Shapes(1).Range.ShapeStyle..." et les instructions suivantes ".Shapes(1).", je reçois une erreur "Object doesn't support this property or method". En supprimant le "(1)", on obtient une erreur de compilation.
La bibliothèque mso est installée et les éléments référencés (par exemple, msoShapeStylePreset10) ont les valeurs appropriées.
Des idées sur ce que je dois faire ?