Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/08/2007, 12h06   #1
Membre régulier
 
Avatar de zoidy
 
Inscription : avril 2006
Messages : 184
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 184
Points : 81
Points : 81
Par défaut Evènement créé dynamiquement

Salut à tous,

J'ai créé dans un useform des controls dynamiques (checkbox), et je souhaite leur affecter à chacun un évènement Click.
Ces évènements doivent donc être créés dynamiquement, mais en suivant le tutorial de SilkyRoad disponible ici, je tombe sur une erreur inédite (pour moi) : "Programmatic access to VBProjet is not trusted".

Mon code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim x As Integer
Dim EvtClick As String
With ThisWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule
     .CreateEventProc "Click", "CK2_" & Collec.Item(i)
     x = .ProcStartLine("CK2_" & Collec.Item(i) & "_Click", vbext_pk_Proc)
     .InsertLines x + 2, EvtClick
End With
'Spécifie le contenu de la macro qui sera associée l'évènement
EvtClick = "Sub " & "CK2_" & Collec.Item(i) & "_Click()" & vbCrLf
EvtClick = EvtClick & "If CK2_" & Collec.Item(i) & ".Value = True Then" & vbCrLf
EvtClick = EvtClick & "MsgBox 'Ok'" & vbCrLf
EvtClick = EvtClick & "Else" & vbCrLf
EvtClick = EvtClick & "MsgBox 'Ko'" & vbCrLf
EvtClick = EvtClick & "End If" & vbCrLf
EvtClick = EvtClick & "End Sub"
Merci d'avance
zoidy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 14h41   #2
Membre chevronné
 
Inscription : mai 2007
Messages : 514
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 514
Points : 673
Points : 673
Bonjour,

Outils>Macros>Securite> Cocher "Faire confiance au projet Visual basic"

En anglais ce doit etre quelque chose comme "Trust visual basic project"

Cordialement,

Tirex28/
tirex28 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 15h14   #3
Membre régulier
 
Avatar de zoidy
 
Inscription : avril 2006
Messages : 184
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 184
Points : 81
Points : 81
Bien vu

Le problème c'est que ce n'est malheureusement pas portable d'un pc a l'autre ca
zoidy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 15h28   #4
Membre chevronné
 
Inscription : mai 2007
Messages : 514
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 514
Points : 673
Points : 673
Bonjour,

Code :
1
2
3
4
5
6
7
 
Private Sub Workbook_Open()
    Dim vbpName As String
    On Error Resume Next
    vbpName = ThisWorkbook.VBProject.Name
    If vbpName = vbNullString Then MsgBox "Veuillez cocher ..."
End Sub
Le message s'affiche uniquement si l'option est désactivé. Pas top mais j'ai pas mieux.

Cordialement,

Tirex28/
tirex28 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 15h35   #5
Membre régulier
 
Avatar de zoidy
 
Inscription : avril 2006
Messages : 184
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 184
Points : 81
Points : 81
Merci tirex28

Finalement je laisse tomber la création des événements dynamique vu que je sens que ça va me prendre plus la tête qu'autre chose... surtout que ça ne sert qu'à apporter du confort d'utilisation (donc négligeable )
zoidy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h43.


 
 
 
 
Partenaires

Hébergement Web