Formulaire 2
Un nouveau formulaire
Création d'un nouveau formulaire
Un formulaire (frm_nouvelle_fiche_de_frais) avec
- un calendrier (un contrôle supplémentaire - contrôle calendrier 12.0 : cal_date),
- une liste déroulante (Motif de frais - zone de liste modifiable: cbo_motif),
- un champ de texte (Montant des frais : txt_montant)
- 2 boutons : btn_enregistrer et btn_annuler.
Menu insertion / userform. Nom du formulaire : "frm_nouvelle_fiche_de_frais"
Pour la liste déroulante (Motif de frais : cbo_motif), voir la propriété "RowSource" qui attend un nom de classeur - entre crochets - suivit d'un nom de feuille suivit d'un nom plage (séparé par un point d'exclamation). Idéalement, cette liste doit être saisie dans le classeur PERSONAL.XLSB (Onglet Affichage, Afficher la fenêtre). Exemple : [PERSONAL.XLSB]Feuil1!A1:A4
Le formulaire "frm_nouvelle_fiche_de_frais"
Attention, le contrôle calendrier n'est plus disponible sous Excel 2010, il faut le remplacer par le contrôle Microsoft Date and Time Picker téléchargable chez Daniel Curran.
Procédure du bouton Annuler de ce deuxième formulaire :
Private Sub btn_annuler_Click()
Unload Me
End Sub
Unload Me
End Sub
Procédure du bouton Enregistrer de ce deuxième formulaire :
Private Sub btn_enregistrer_Click()
'Sélection de la feuille correspondant au numéro du mois du formulaire
Sheets(MonthName(cal_date.Month)).Select
' Attention: un jour doit-être cliquer pour que cela fonctionne
End Sub
'Sélection de la feuille correspondant au numéro du mois du formulaire
Sheets(MonthName(cal_date.Month)).Select
' Attention: un jour doit-être cliquer pour que cela fonctionne
End Sub
Note: si l'on veut que le formulaire soit sélectionné sur un jour par défaut lors d'un changement de mois :
If cal_date.Day = 0 Then
MsgBox "Merci de sélectionner un jour",vbCritical, "Erreur de saisie"
ExitSub 'Sort de la boucle (facultatif, sinon, faire un Else avec tout le code existant)
Endif
MsgBox "Merci de sélectionner un jour",vbCritical, "Erreur de saisie"
ExitSub 'Sort de la boucle (facultatif, sinon, faire un Else avec tout le code existant)
Endif
Méthode pour récupérer et installer le calendrier "Microsoft Date & Time Picker Control"
Depuis le site de Daniel Curran (http://danielcurran.com), téléchargez le fichier MSCOMCT2.CAB sur votre bureau à partir du lien sur la phrase : "download it here." visible au milieu de la page.Extraire ensuite les deux fichiers mscomct2.bat et mscomct2.ocx toujours sur le bureau.
Dans Excel (onglet Développeur), depuis le bouton "Insérer" utilisez le contrôle ActiveX "Autres contrôles". Avec le bouton "Enregistrer le contrôle personnalisé" sélectionnez le fichier "mscomct2.ocx".
Ce contrôle est maintenant accessible depuis la boite à outils de l'éditeur VBA (clic droit, contrôles supplémentaires...).