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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| For i = 1 To Data(Formulaire).NbreRec 'Fichier contenant les listes de boutons pour chaque userform
Call GetChamp(Formulaire, i, Form.Nom_Du_Formulaire) 'Lecture du nom du formulaire
For Each LaForm In Application.VBE.ActiveVBProject.VBComponents
If LaForm.Name = Trim(Data(Formulaire).Champs(Form.Nom_Du_Formulaire)) Then
Gosub Lister
End If
Next LaForm
Next
Exit Sub
Lister:
For Each Contrôle In LaForm.Controls
If TypeOf Contrôle Is MSForms.CommandButton Or (TypeOf Contrôle Is MSForms.Label And LCase(Left(Contrôle.Name, 9)) = "lblbouton") Then
If Contrôle.Name <> "CmdNouveau" And _
Contrôle.Name <> "CmdSupprimer" And _
Contrôle.Name <> "CmdModifier" And _
Contrôle.Name <> "CmdAnnuler" And _
Contrôle.Name <> "CmdSauver" And _
Contrôle.Name <> "CmdRecherche" And _
Contrôle.Name <> "CmdImprimer" And _
Contrôle.Name <> "CmdQuitter" And _
Contrôle.Name <> "CmdEnregistrer" And _
Contrôle.Name <> "CmdCharger" And _
Contrôle.Name <> "CmdPlus" And _
Contrôle.Name <> "CmdMoins" And _
Contrôle.Name <> "CmdMod" And _
Contrôle.Name <> "CmdX" And _
Contrôle.Name <> "CmdDébut" And _
Contrôle.Name <> "CmdFin" And _
Left(Contrôle.Name, 9) <> "CmdRetour" Then
'Recherche des boutons existants (Ces procédures sont fiables)
Call GetChamp(Formulaire, i, Form.Nom_Du_Formulaire)
Call GetChamp(Formulaire, i, Form.No_Table)
ReDim Conditions(2)
Conditions(1).NoChamp = Cnfg.No_Formulaire
Conditions(1).Opérateur = "="
Conditions(1).Valeur = i
Conditions(2).NoChamp = Cnfg.Bouton
Conditions(2).Opérateur = "="
Conditions(2).Valeur = Contrôle.Name
Call ListerRecords(Liste(), TableLocale, Conditions(), False)
'Si le bouton n'est pas listé alors il est ajouté et sauvé
If Liste(0) = 0 Then
'Les paramètres du bouton sont enregistrés dans des contrôles puis sauvés dans le fichier.
ComboFormulaire.Value = i
txtDescription = "du formulaire " & Chr(34) & Mid(Trim(Data(Formulaire).Champs(Form.Nom_Du_Formulaire)), 5) & Chr(34)
txtBouton = Contrôle.Name
If Left(Contrôle.Name, 9) = "lblBouton" Then
txtLégende = "L'onglet " & Chr(34) & Contrôle.Caption & Chr(34)
Else
txtLégende = "Le bouton " & Chr(34) & Contrôle.Caption & Chr(34)
End If
ComboActifOuInactif.Value = 1
Nouveau = True
Call SauverDossier
Call FinaliserSauvegarde(TabNavig, TabPrivé, TableLocale, TableauFiltré(), NumCrit, Critère(), ÉtatDesBoutons) 'Procédure interne nécessaire à la sauvegarde.
End If
End If
End If
Next Contrôle |
Partager