Bonjour à tous,
Voila, je vous expose mon problème
J'ai créé une macro qui établit des plannings à partir d'une base de données... jusque la tout va bien.
Je crée des boutons dynamiques afin d'avoir une interaction avec ce planning.
Mes boutons se placent bien, prennent les bonnes dimensions, mais (car il y a toujours un mais) quand j'essaye d'écrire leur code dans la feuille VB, Excel plante completement...
pourtant la premiere itération se passe bien (définition des dimensions du bouton, création du boutton, attribution de code).
Mais quand excel plante, je vois mes 2 premiers boutons correctement affichés, et apres des tests avec msgbox(car la compil pas a pas quand on fait du bouton dynamique ca plante , merci m$), j'ai isolé le problème...
Ci joint la portion de code ...
La fonction de création de bouton:
Et la partie création du bouton et insertion de code
Merci d'avance pour votre aide
Voila, je vous expose mon problème
J'ai créé une macro qui établit des plannings à partir d'une base de données... jusque la tout va bien.
Je crée des boutons dynamiques afin d'avoir une interaction avec ce planning.
Mes boutons se placent bien, prennent les bonnes dimensions, mais (car il y a toujours un mais) quand j'essaye d'écrire leur code dans la feuille VB, Excel plante completement...
pourtant la premiere itération se passe bien (définition des dimensions du bouton, création du boutton, attribution de code).
Mais quand excel plante, je vois mes 2 premiers boutons correctement affichés, et apres des tests avec msgbox(car la compil pas a pas quand on fait du bouton dynamique ca plante , merci m$), j'ai isolé le problème...
Ci joint la portion de code ...
La fonction de création de bouton:
Code:
Sub createbutton(bleft As Double, btop As Double, bwidth As Double, bheight As Double)
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
, DisplayAsIcon:=False, left:=bleft, top:=btop, width:=bwidth, height _
:=bheight).Select
End Sub
Et la partie création du bouton et insertion de code
Code:
Application.Run "createbutton", gauchebouton, sommetbouton, largeurbouton, hauteurbouton
'compter le nombre de boutons existants dans la feuille
y = ActiveSheet.OLEObjects.Count
'c'est la que ca plante!! quand y=2
ActiveSheet.OLEObjects(y).Name = "CommandButton" & y
'tempstr est initialisé a ce moment...
ActiveSheet.OLEObjects(y).Object.Caption = tempstr
'définition de la fonction
code = "Sub CommandButton" & y & "_Click()" & vbCrLf
code = code & "msgbox(" & y & ""ca marche"")" & vbCrLf
code = code & "End Sub" & vbCrLf
ActiveWorkbook.VBProject.VBComponents(Worksheets("Planning").CodeName).CodeModule.AddFromString code
Merci d'avance pour votre aide
Dernière édition: