Modifier le contenu d'un module à l'aide du code VBA executé lors de l'ouverture
MDAVERIO
Messages postés3Date d'inscriptionvendredi 28 août 2009StatutMembreDernière intervention 7 septembre 2009
-
4 sept. 2009 à 15:27
MDAVERIO
Messages postés3Date d'inscriptionvendredi 28 août 2009StatutMembreDernière intervention 7 septembre 2009
-
7 sept. 2009 à 17:39
Bonjour à tous,
étant novice dans la programmation, j'ai pioché pas mal d'infos sur ce site pour la réalisation de ce qui m'est demandé de faire sur Excel 2003, mais il me reste quand même un problème.
Principe de fonctionnement de mon fichier :
à l'ouverture du classeur (Workbook_open)j'ouvre un formulaire où je crée automatiquement des boutons de commande dans différents onglets (multipage). Ca fonctionne très bien, je n'ai pas de pb.
Mon problème :
Bien sûr je cherche en même temps à créer les sub qui correspondent à chaque bouton. J'ai trouvé sur ce site un bout de code permettant de le faire. Le voici (adapté à mon cas) :
'création du bouton
Set CmdBut = Mymultipages.Pages.Item(compteur).Add("forms.CommandButton.1")
With CmdBut
.Left = 15 + 90 * q
.Top = 10 + 40 * o
.Width = 75
.Height = 30
.Font.Name = "Arial"
.Font.Size = 14
.Name = "CommandButton" & produit
.Caption = produit
.ControlTipText = produit
End With
'je crée le contenu du code que je veux ajouter au module
strCode = "Public Sub CommandButton" & produit & "_Click()" & Chr(13)
strCode = strCode & "chproduit=CmdBut.Caption" & Chr(13) & "VERSION.Show" & Chr(13)
strCode = strCode & "End Sub" & Chr(13)
'je sélectionne le module (Module3) dans lequel je veux ajouter ma sub
With ThisWorkbook.VBProject.VBComponents("Module3").CodeModule
'je compte le nb de lignes se trouvant dans le module et je me place sur la ligne suivante
NextLine = .CountOfLines + 1
' j'insère mon code
InsertLines NextLine, strCode
End With
J'ai un problème avec la ligne Insertlines.
En effet, si je la laisse, le code ne va pas jusqu'au bout, mon formulairene s'affiche même pas. Et pour cause : le code associé aux objets Excel est supprimé ! Plus aucun code n'exite, seuls les modules subsistent
Quand je met cette ligne en commentaire, le script s'execute complètement, mais bien sur je n'ai aucun code d'inséré ce qui est normal.
Quelqu'un pourrait m'aider parce que là je sèche complètement ! Merci !
A voir également:
Modifier le contenu d'un module à l'aide du code VBA executé lors de l'ouverture