Bonjour tout le monde,
comme vous vous en doutez je viens poster ici car j'ai un problème
Voilà j'ai un form nommé "PlanDeControl" dans lequel je souahiterai à l'ouverture ajouter des contrôles de type checkBox en fonction du nombre d'onlgets d'un fichier access dans le répertoire. Jusque là je pensais savoir comment m'y prendre
Voici mon code :
Voilà au début je taper en direct le nom de mon formulaire mais VBE me renvoyer l'erreur 29054 : "Microsoft access ne peut pas ajouter, modifier ou supprimer le(s) controle(s) sélectionné(s)." Ou quelque hose comme ça.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 Private Sub Form_Load() 'Déclarations Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim CB As CheckBox Dim i As Integer Dim formName As String formName = "PlanDeControl" 'Initilisation du nom du form 'ouverture du classeur excel Set xlApp = New Excel.Application Set xlBook = xlApp.Workbooks.Open("Chemin de mon fichier Excel") 'Il est bien renseigner (avant qu'on me pose la question ;) ) 'fermeture et réouverture du formulaire en mode création DoCmd.Close acForm, formName DoCmd.openForm formName, acDesign 'création des différentes checkBox For i = 1 To xlBook.Sheets.Count Set CB = CreateControl(formName, acCheckBox) With CB .name = "CB_" & i .Left = 50 .Top = 40 + 10 * i .Height = 20 .Width = 20 .Visible = True End With Set CB = Nothing Next 'fermeture et réouverture du formulaire en mode normal DoCmd.Close acForm, formName, acSaveYes DoCmd.openForm formName 'Libération de l'espace Set xlApp = Nothing Set xlBook = Nothing End Sub
Je me suis renseigner sur plusieurs forum et les résultats sont les suivants
- Ecrire le nom du formulaire via une variable (solution de 2006, que j'ai mis en application comme vous pouvez le voir), ... sa marche pas toujour la même erreur.
- changer la réfèrence à microsoft ado par microsoft doa, ... marche pas non plus
- et j'ai vu sur un autre forum qu'il fallait rentrer les paramètres de ma checkBox dans le createControl, ... sa change rien non plus.
J'ai lu beaucoup de chose et parfois sa fait peur mais je n'ai pas trouver la solution à mon porblème.
Je vous fais donc un petit récap de ce que je souhaite faire :
A l'ouverture de mon form "PlanDeControl" je souhaite que mon code VBA ouvre un fichier excel pour récupérer le nombre d'onglets (jusque là sa marche) puis de créer un CheckBox pour chaque onglets, soit créer autant de checkBox que d'onglets.
Merci d'avance à ceux qui me lirons et encore plus à ce qui pourront me donner des conseils
je ne pense pas que mon code soit trop mauvais mais j'arrive pas à mettre le doigt sur l'erreur![]()
Partager