cs_steed12
Messages postés25Date d'inscriptionmardi 4 janvier 2005StatutMembreDernière intervention 9 janvier 2006
-
15 avril 2005 à 17:18
valtrase
Messages postés937Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention 9 mai 2022
-
20 avril 2005 à 20:54
Je me permet de changer de place ma question car ca devient super urgent et je ne vois pas comment m'en sortir. Merci
Ce qui suis vient du forum dans la section VBA :
Bonjour à tous, voilas j'ai une petite question à vous soumettre :
est-il possible de crée une nouvelle macro en vba (tous en code vb) et de lui affecter des opération a effectuer. Et donc si oui quel est la commande qui permet de crée cette macro. Merci de me mettre sur la voie car la je bloque depuis 5h.Merci à ceux ou celles qui me répondrons.
Re : crée une macro en VBA ?
Répondre à ce message - [javascript:alert('pas%20encore%20implémenté'); Imprimer ce message]
Pour créer une macro, dans VBA tu fais Insérer/Module.
Dans le code du module, tu construis ta macro Exemple:
Sub Ajouter()
Range("A1").Value = "Bonjour"
End Sub
Quand tu retourne dans Excel, tu verras que si tu cliques sur Outils/Macro que ta mcro est bien là.Pour la lancer, tu clique dessus ou si c'est par un bouton sur un UserForm.
Private Sun CommandButton1_Click()
Call Ajouter
End Sub
Voilà ce n'est pas plus difficile
jpleroisse
en fait je me suis mal expliqué, je cherche a crée un nouvelle macro via une macro qui tourne.
exemple: la macroA est exécuter et crée la macroX avec des action définie et des variable.
En gros je voudrais que l'utilisateur choisisse une couleur et un texte et qu'une macro sois crée avec le code couleur et le texte choisie pour que ensuite l'utilisateur n'est qu'a cliqué sur un bouton qui appel la macroX pour copier ses valeur dans plusieurs céllules. Voilàs je sais pas si je suis bien clair ...
Merci beaucoup.
tu fais ta macro avec tes parametre et tu l'appelles depuis une autre macro.
exemple, j'ai une macro fusionLt qui appelle la macro Fusion.
Sub fusionLt()
'
' fusionLt Macro
' Macro enregistrée le 13/04/2005 par BenoCrapo
'
Application.Run MacroName:="Normal.NewMacros.Fusion"
Windows("modele.dot").Activate
End Sub
et voilou
Benouille la grenouille
Re : crée une macro en VBA ?
Répondre à ce message - [javascript:alert('pas%20encore%20implémenté'); Imprimer ce message]
En fait je ne peux pas crée la macro avant car en fait l'utilisateur choisi un texte puis une couleur en suite il valide et alors ma macro lui crée un bouton de formulaire qui a pour fonction de remplir les céllule sélectionner de la couleur choisie ainsi que du texte. De plus il existe a la base 9 boutons donc ce que je recherche a faire c'est de :
- l'utilisateur choisi son texte et couleur
- Valide
- la macro existante crée un bouton avec comme texte celui taper
- la macro lie le bouton crée a une nouvelle macro (crée sur le moment) avec comme fonction :
- remplie la ou les céllule selectionner par la couleur et le texte associé au bouton.
En gros si j'ai 9 bouton j'ai 9 macro qui sont identique avec seulement la couleur de remplissage et le texte qui change. Je sais que ce n'est peut etre pas la bonne méthode sur laquelle je me suis engager mais pour un autre project sa me servira aussi de savoir crée des macro dans des macro.
valtrase
Messages postés937Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention 9 mai 20223 16 avril 2005 à 02:15
Salut,
pourquoi ne pas écrire simplement ta macro et l'exécuter en temps utile ?
il est possible de lancer une macro depuis un fichier texte dis moi ce que tu veux faire exactement que l'on puisse voir
valtrase
Messages postés937Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention 9 mai 20223 19 avril 2005 à 18:55
Re,
Je reviens sur le sujet voilà qq lignes de code qui te seront bien utiles
Dim Usf As Object, btn As Object, x
ThisWorkbook.VBProject.VBComponents.Add vbext_ct_StdModule
Set Usf = ThisWorkbook.VBProject.VBComponents("Module1")
With Usf.CodeModule
x = .CountOfLines
.insertlines x + 1, "Sub Ma_Macro()"
.insertlines x + 2, " MsgBox ""coucou"""
.insertlines x + 3, " unload Me"
.insertlines x + 4, "End Sub"
End With
valtrase
Messages postés937Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention 9 mai 20223 19 avril 2005 à 19:00
Re, pour une user form
'ajoute un commandbutton à un userform existant
'(avec le code de son événement Click)
Sub AddBouton()
Dim Usf As Object, btn As Object
Set Usf = ThisWorkbook.VBProject.VBComponents("Userform1")
Set btn = Usf.Designer.Controls.Add("forms.commandbutton.1")
With btn
.Caption = "Cliquer ici !..." .Left 60: .Top 50
End With
With Usf.CodeModule
X = .CountOfLines
.insertlines X + 1, "Sub CommandButton1_Click()"
.insertlines X + 2, " MsgBox ""coucou"""
.insertlines X + 3, " unload Me"
.insertlines X + 4, "End Sub"
End With
VBA.UserForms.Add (Usf.Name)
UserForms(UserForms.Count - 1).Show
End Sub