Créer un bouton dynamiquement excel via VBA
Fermé
jot59
Messages postés
22
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
2 décembre 2009
-
31 mars 2006 à 16:56
-- - 12 août 2010 à 16:39
-- - 12 août 2010 à 16:39
A voir également:
- Bouton dynamique excel
- Tableau croisé dynamique - Guide
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
20 réponses
Utilisateur anonyme
31 mars 2006 à 21:37
31 mars 2006 à 21:37
Bonjour,
J'ai apporté quelque modif pour que cela fonctionne chez moi !
Lupin
J'ai apporté quelque modif pour que cela fonctionne chez moi !
Sub CreerMenu() Dim X As Byte Dim i, BU_number As Long 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).Value <> "XXX" i = i + 1 Loop i = i + 1 BU_number = Cells(i, 1) 'Workbooks.Add 'creer classeur Set oOLE = ActiveWorkbook.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
Lupin
3 avril 2006 à 10:01
merci d'avoir regarder la macro, j'ai pris la macro de la réponse j'ai le meme problème lorsque je veux travailler sur la feuille courante (ligne 'Workbooks.Add 'creer classeur en commentaires)
impossible d'entrer en mode arrêt maintenant
il y a peut être un pb d'options de Excel ou Visual basic
merci d'avance
jot59
4 avril 2006 à 14:46
C'est tout a fait possible qu'il y ait des paramètres de sécurité!
Pour ce qui est du point d'arret, c'est normal je crois, la ligne
[ Set oOLE ... ] contient une méthode [ Add ] et l'on ne peut
traverser cette ligne lors d'un déboggage, ça m'arrive très
souvent.
Pour les paramètres de sécurité Excel, chez moi la sécurité
est au minimum et j'ai coché la case [ Faire confiance aux
projet VBA ] du deuxième onglet dans les paramètres de
sécurité.
Autre point, pour utiliser cet objet [ActiveWorkbook.VBProject.VBComponents], il te
faut charger la référence :
Microsoft Visual Basic for Applications Extensibility
Pour débogger place des point d'arret devant et après
la ligne du [ Set oOLE ... ].
Bon courage !
Lupin
4 avril 2006 à 17:36
en fait tu as raison, lorsque je lance la macro hors VB donc depuis Excel , ca fonctionne.
ok merci de ton aide
a bientot
14 nov. 2006 à 15:33
je sais que ce post a ete resolu il y a longtemps mais vous pourrez surement m'aider.
je ne fais pas tout à fait la même chose que dans le message initial mais ca s'en rapproche.
je crée dynamiquement un certain nombre de boutons avec le code suivant et je crée le code qui va avec en utilisant ce que vous avez mis plus haut :
cependant quand on clic sur un de ces boutons rien ne se passe alors que le code est bien ajouté a la fin du code de GestionMeuleForm.
je ne m'y connais pas assez en vba pour savoir pourquoi ca ne fonctionne pas.
merci d'avance de votre aide