Créer un formulaire de saisie de données, Excel VBA
Créer un formulaire de saisie de données en VBA (Visual Basic for Applications) dans Excel permet de faciliter la collecte et l’enregistrement d’informations dans une feuille de calcul. Voici un exemple détaillé de création d’un formulaire de saisie de données dans Excel à l’aide de VBA.
Étapes à suivre :
- Ouvrir l’éditeur VBA : Appuyez sur Alt + F11 pour ouvrir l’éditeur VBA dans Excel.
- Insérer un UserForm : Allez dans le menu Insertion, puis choisissez UserForm. Cela ouvrira un formulaire vierge.
- Ajouter des contrôles : Ajoutez des éléments tels que des TextBox, Label, Button, etc., pour collecter des données.
- Écrire le code VBA : Ajoutez du code pour gérer l’événement de clic sur le bouton pour enregistrer les données dans une feuille de calcul.
Exemple de code VBA pour un formulaire de saisie de données
Supposons que nous souhaitons créer un formulaire qui permet de saisir des informations personnelles telles que le prénom, le nom et l’âge, puis enregistrer ces données dans une feuille Excel.
Étape 1 : Créer un formulaire avec des contrôles
Dans l’éditeur VBA, dans le UserForm, vous allez ajouter les contrôles suivants :
- 3 Labels pour les champs : « Prénom », « Nom », « Âge »
- 3 TextBoxes pour la saisie des données : txtPrenom, txtNom, txtAge
- 1 Button pour soumettre les données : btnEnregistrer
Étape 2 : Code pour gérer l’enregistrement des données
Voici le code à placer dans le UserForm :
' Code VBA pour le UserForm Private Sub UserForm_Initialize() ' Initialiser les éléments de l'interface (optionnel) Me.Caption = "Formulaire de Saisie de Données" End Sub Private Sub btnEnregistrer_Click() ' Vérifier que tous les champs sont remplis If txtPrenom.Value = "" Or txtNom.Value = "" Or txtAge.Value = "" Then MsgBox "Veuillez remplir tous les champs.", vbExclamation Exit Sub End If ' Trouver la première ligne vide dans la feuille "Données" Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Données") ' Trouver la première ligne vide dans la colonne A Dim ligne As Long ligne = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1 ' Enregistrer les données dans la feuille ws.Cells(ligne, 1).Value = txtPrenom.Value ' Prénom ws.Cells(ligne, 2).Value = txtNom.Value ' Nom ws.Cells(ligne, 3).Value = txtAge.Value ' Âge ' Réinitialiser les champs txtPrenom.Value = "" txtNom.Value = "" txtAge.Value = "" ' Message de confirmation MsgBox "Données enregistrées avec succès.", vbInformation End Sub
Explication du code :
- UserForm_Initialize : Cette sous-routine s’exécute lors de l’initialisation du formulaire. Vous pouvez l’utiliser pour personnaliser l’interface (par exemple, définir un titre pour le formulaire).
- btnEnregistrer_Click : C’est l’événement qui se déclenche lorsque l’utilisateur clique sur le bouton Enregistrer. Ce code effectue les étapes suivantes :
- Validation des champs : Il vérifie si les champs Prénom, Nom, et Âge sont remplis. Si l’un des champs est vide, un message d’alerte apparaît.
- Enregistrement des données : Les données saisies dans les champs sont copiées dans la première ligne vide de la feuille de calcul « Données ». Les données sont insérées dans les colonnes A, B et C.
- Réinitialisation des champs : Après l’enregistrement, les champs de saisie sont réinitialisés pour permettre une nouvelle saisie.
- Confirmation : Un message de confirmation s’affiche pour indiquer que l’enregistrement a été effectué avec succès.
Étape 3 : Créer la feuille « Données »
Dans le fichier Excel, vous devez avoir une feuille nommée « Données » où les informations seront enregistrées. Vous pouvez créer cette feuille manuellement avant de tester le formulaire.
Voici comment les données seront organisées :
- Colonne A : Prénom
- Colonne B : Nom
- Colonne C : Âge
Étape 4 : Lancer le formulaire
Vous pouvez maintenant créer un bouton dans Excel pour ouvrir le formulaire. Pour cela, procédez comme suit :
- Allez dans l’onglet Développeur d’Excel (si l’onglet n’est pas visible, activez-le dans les options Excel).
- Cliquez sur Insérer et choisissez un bouton dans les contrôles de formulaire.
- Dessinez un bouton sur la feuille et attribuez-lui la macro AfficherFormulaire qui ouvrira votre formulaire.
Ajoutez cette procédure dans un module VBA pour afficher le formulaire :
Sub AfficherFormulaire() UserForm1.Show End Sub
Conclusion
Ce code crée un formulaire de saisie de données simple qui peut être utilisé pour entrer des informations dans une feuille de calcul Excel. Vous pouvez personnaliser les champs et ajouter d’autres fonctionnalités selon vos besoins.