no save
Assistance
Achat
News

Forum | Logiciels/Pilotes
créer un bouton dynamiquement excel via VBA
jot59, le ven. 31 mars 2006 à 16:56:43
Bonjour ,
je souhaite créer un bouton par macro et affecter une macro également à ce bouton créé, sachant que le code lié à la macro qui doit affecter doit pouvoir être changé dynamiquement en fonction du contenu de certaines cellules.
j'ai écrit le code suivant :
Dim X As Byte
Dim Code As String
Dim NextLine As String
Dim oOLE As OLEObject
Sheets("Menu").Select
Range("A1").Select
i = 1
Do While Cells(i, 1) <> "XXX"
i = i + 1
Loop
i = i + 1
BU_number = Cells(i, 1)

Workbooks.Add 'creer classeur
Set oOLE = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", _
Link:=False, DisplayAsIcon:=False, Left:=340, Top:=30, Width:=100, Height:=30)
'Left position bouton par rapport au bord gauche de la feuille
'Top position bouton par rapport au haut de la feuille
'Width largeur bouton
'Height hauteur bouton

X = ActiveSheet.OLEObjects.Count 'compter le nombre de boutons existants dans la feuille

'option nommer l'objet
oOLE.Name = "CommandButton" & X
'texte sur le bouton
ActiveSheet.OLEObjects(X).Object.Caption = "BU " & X
Code = "Sub CommandButton" & X & "_Click()" & vbCrLf
Code = Code & "Sheets(""feuil2"").select" & vbCrLf
Code = Code & "End Sub"

With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule
NextLine = .CountOfLines + 1
.insertlines NextLine, Code
End With
End Sub

ce code fonctionne très bien lorsqu'on crée une nouvelle feuille "Workbooks.Add 'creer classeur" après la boucle.
Le fait d'appuyer sur le bouton me fait aller sur la feuille "feuil2"

par contre dès qu'on supprime la ligne "Workbooks.Add 'creer classeur "
qui permet donc de créer le bouton sur la feuille active cane marche plus j'ai le message suivant :
"Impossible d'entrer en mode arrêt maintenant"
puis si je fais continuer : message : l'indice n'appartient à la sélection"

Quelqu'un peut m'aider sur le sujet
merci d'avance


Lupin.A
mars 06
Suivant
REPONSES
Lupin.A
mars 06
jot59
avr. 06
Lupin.A
avr. 06
jot59
avr. 06
Naya
nov. 06
Lupin.A
nov. 06
Naya
nov. 06
Lupin.A
nov. 06
Lupin.A
nov. 06
Naya
nov. 06
Version Web
Réalisé par RedShift
no save