Les UserForms, également appelés boîtes de dialogue, sont des fenêtres graphiques qui permettent aux utilisateurs d’entrer des données dans des champs et d’insérer ces données dans des feuilles de calcul Excel. Un UserForm est intégré dans un classeur Excel et s’exécute lorsqu’un utilisateur ouvre le fichier Excel, généralement par le biais d’une macro. Parce que les UserForms tirent profit du langage Visual Basic, ils peuvent être généreusement personnalisés pour s’assurer que les données saisies dans leurs champs sont complètes et valides avant d’être transférées dans la feuille de calcul Excel elle-même pour une manipulation ultérieure.
Ouvrez Microsoft Excel et créez un nouveau classeur vierge en cliquant sur le menu Fichier et en sélectionnant « Nouveau ». Sauvegardez le fichier Excel sous le nom « update_worksheet.xls ».
Gardez le classeur ouvert et ouvrez l’éditeur Visual Basic en appuyant sur Alt-F11. Créez un nouveau UserForm en cliquant sur le menu Insérer et en sélectionnant « UserForm ». Nommez le UserForm « transferForm » en changeant l’attribut Name dans le menu Properties. Changez l’attribut Caption en « transferForm ».
Ajoutez une zone de texte au formulaire en sélectionnant une zone de texte dans la boîte à outils et en la faisant glisser en place sur le formulaire. Nommez la zone de texte « transferInput » dans la fenêtre des propriétés. Si la boîte à outils n’est pas ouverte, sélectionnez le menu Affichage et Toolbox.
Ajoutez un bouton de mise à jour au formulaire en sélectionnant un bouton CommandButton dans la boîte à outils et en le faisant glisser en place sur le formulaire. Nommez le bouton de commande « transferButton » dans la fenêtre des propriétés et changez l’attribut de légende en « Mettre à jour la feuille de travail ».
Ajoutez un bouton de fermeture au formulaire en sélectionnant un deuxième bouton de commande dans la boîte à outils et en le faisant glisser en place sur le formulaire. Nommez le CommandButton « closeButton » dans la fenêtre des propriétés et changez l’attribut de légende en « Close Form.
Ouvrez l’éditeur de code Visual Basic en double-cliquant sur le bouton de transfert (bouton de mise à jour). Ajouter du code à la fonction Bouton de transfert _click() qui transfère toutes les données entrées dans la zone de texte vers la feuille de travail update_worksheet.xls lorsque l’utilisateur clique sur le bouton. Fermez l’éditeur de code Visual Basic.
Transfert privé SubButton_Click()
Fin Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-
Réouvrir l’éditeur de code Visual Basic en double-cliquant sur le bouton de fermeture (bouton de fermeture). Ajouter du code à la fonction closeButton_Click() qui ferme le formulaire lorsque l’utilisateur clique sur le bouton. Fermez l’éditeur de code Visual Basic.
Private Sub closeButton_Click()
Fin Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-
Exécutez le code du formulaire en cliquant sur le menu Exécuter et en sélectionnant « Exécuter Sub/UserForm. Entrez les données dans le champ de saisie et cliquez sur le bouton « transferButton ». Assurez-vous que les données sont transférées avec succès à la première valeur de cellule de la feuille de calcul Excel, en passant à Excel si nécessaire. Sauvegardez et fermez le UserForm en cours d’exécution.
Utilisez une procédure d’événement Excel pour ouvrir le formulaire utilisateur lorsqu’un utilisateur ouvre le classeur dans Excel. Ouvrez l’Explorateur de projets et double-cliquez sur la fenêtre de code de ThisWorkbook. Saisissez une macro qui ouvre le formulaire lorsque la feuille de calcul s’ouvre et enregistrez la macro. Enregistrer et fermer Visual Basic et update_worksheet.xls.
Private Sub Workbook_Open_Open()
Fin Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-
Rouvrir « update_worksheet.xls. ». Le formulaire de transfert UserForm s’ouvre. Tapez du texte dans le champ « transferInput » et cliquez sur le bouton « transferButton ». Le texte saisi dans le formulaire de transfert UserForm sera transféré dans la première cellule de Sheet1 dans update_worksheet.xls.
Ressources intéressantes : 1.
Laisser un commentaire