Explication UserForm => ToggleButton Combiné avec CheckBox...
Salut Will, le Forum
Huumm oui ton premier post a du passé à travers mon outlook... Sorry
Déjà première réflexion, 21 ComboBox....... WOW Pour ton premier programme tu y vas fort... Si je peux me permettre de te donner un conseil, commence par des trucs plus simples, ou même réfléchis en tant que programmeur et pas en tant qu'utilisateur... Car c'est vraiment une usine à gaz 21 ComboBox à gérer dans le même UserForm...
Et je dirais même plus !!! Réfléchis aussi en tant que User (encore mieux !!!) Et imagine toi en face de l'installation de Windows que tu viens de payer 250 euros et que tu as un PopUp UserForm qui te demande 21 ComboBox à sélectionner!! tu ne serais pas content !!!
Donc mon premier conseil de développeur, pense toujours à l'ergonomie de ton programme pour qu'il soit sobre et "User-Friendly"
Bon pour tes deux questions :
1) Première Question
Renommer un Bouton dans un UserForm
Rappel de procédure normale pour CommandButton "classique"Pour renommer un Bouton dans VBE, tu as deux solutions :
AAA°) Soit par les Propriétés : le UserForm en mode Design et le Button sélectionnée, tu fais "F4" (touche de CTRL "F4") pour activer la fenêtre "Propriétés" et tu peux accéder au "Caption" du Bouton...
BBB°) Soit par programmation avec une ligne de commande comme ceci à mettre dans le Private Module du UserForm en question :
Private Sub UserForm_Initialize()
CommandButton1.Caption = "Thierry's Démo"
End Sub
C'est bien évidemment cette seconde alternative qui est indispensable à assimiller pour que tu puisses contrôler un "ToggleButton"
........désolé de m'être attardé
Donc un ToggleButton se contrôle par programmation et il a deux valeurs (trois pour être véridique, mais on passera sur la troisième pour ne pas t'embrouiller, mais cherche dans ce Forum à mon nom avec "ToggleButton" et "TripleState" mais c'est une autre histoire !!!)*
Donc on ne parlera que de deux valeurs = VRAI ou FAUX (Actif ou Inactif / Oui ou Non)
Par défaut le ToggleButton est Faux (comme toutes les Variables de Type Boolean)... Mais quand j'utilise l'évènement Click je ne sais pas si on est à l'initialisation, ou si le User fait mumuse avec le dit bouton..... donc il me faut une condition :
Private Sub ToggleButton1_Click()
If ToggleButton1 = False Then
ToggleButton1.Caption = "Mode de Consultation"
Else
ToggleButton1.Caption = "Mode de Saisie"
End If
End Sub
Donc si le bouton est enfoncé il est TRUE et on est en mode de Consulation, si le bouton est FALSE on est en mode de Saisie...
Pour plus amples informations tapes "ToggleButton" dans l'aide VBA...
b]1) Seconde Question[/b]
Modification en Mode Consultation du USF-Multi-Combo-MAJ-BDB-V01.00
La réponse est dans la question !! lol, en mode consultation il est tout à fait normal que mon programme t'empêche de changer quoique ce soit !!! sinon celà voudrait dire que mon programme n'est pas fiable !!!
Je te conseille de passer en mode "Modification" qui s'active grace au "CheckBox" du même nom (mode Modification) et de comprendre ce code :
Private Sub CheckBox1_Click()
If Me.CheckBox1 = True Then
With Me
.Label1 = "Mode Modification"
.CommandButton2.Visible = True
End With
Else
With Me
.CommandButton2.Visible = False
.Label1 = "Mode Consultation"
End With
End If
En clair celà signifies que si le CheckBox est "Checké" (True) il se passe des actions différentes que si il ne l'est pas... Et la macro "SynchroComboBoxes" lancée à chaque "ComboBoxX_Change" vérifie si la "CheckBox1" est True ou False...
Maintenant pour ta question précise en ce qui concerne "je ne peux ecrire qu'une lettre et pas plus je pense que tu auras compris que c'est délibérément voulu par mon programme... et là on revient au ToggleButton aussi décrit plus haute car il permutte par une boucle sur une Array les toutes les ComboBox :
de :
CtrlArray.MatchEntry = fmMatchEntryComplete
à :
CtrlArray.MatchEntry = fmMatchEntryFirstLetter
J'ai écrit pas mal de commentaires dans cette démo, je te conseille de tout relire en plus de ce que je viens de t'écrire...
Et avant de partir, je ne saurais que de te conseiller d'analyser, d'assimiller et de comprendre ce que j'ai programmé en t'entrainant sur deux ou trois combobox avant de penser pouvoir le Copier/Coller pour 21 !!! Le VBA n'est pas aussi facile que çà !
Bonne Nuit et bon Courage
@+Thierry