Créer des formulaires de saisie de données personnalisés, Excel VBA

Créer des formulaires de saisie de données personnalisés, Excel VBA

Créer un formulaire de saisie de données personnalisé dans Excel avec VBA est un moyen très pratique d’obtenir des entrées de l’utilisateur de manière plus contrôlée. Ce type de formulaire permet de saisir, modifier ou supprimer des données dans une feuille de calcul Excel via une interface conviviale. Voici un guide détaillé sur la création d’un formulaire de saisie de données avec VBA. 

Étapes de Création d’un Formulaire de Saisie de Données Personnalisé avec VBA 

1. Ouvrir l’éditeur VBA

Pour commencer, nous devons ouvrir l’éditeur VBA d’Excel en suivant ces étapes : 

  • Appuyez sur Alt + F11 pour ouvrir l’éditeur VBA. 
  • Dans l’éditeur VBA, allez dans Insertion > UserForm pour créer un nouveau formulaire. 

2. Ajouter des contrôles sur le formulaire

Une fois le UserForm créé, vous pouvez ajouter des éléments comme des zones de texte, des boutons et des étiquettes. Voici quelques contrôles courants que vous pouvez ajouter : 

  • TextBox : pour saisir des données textuelles. 
  • ComboBox : pour permettre à l’utilisateur de choisir une option dans une liste déroulante. 
  • CommandButton : pour ajouter des boutons d’action (par exemple, « Ajouter », « Annuler »). 
  • Label : pour afficher des instructions ou des intitulés. 

Exemple : Formulaire de saisie pour un employé 

Voici un exemple simple où vous allez saisir des informations d’un employé : son nom, son âge et son département. 

  1. TextBox pour le nom de l’employé : Ajoutez un TextBox pour le nom. 
  2. TextBox pour l’âge de l’employé : Ajoutez un TextBox pour l’âge. 
  3. ComboBox pour le département : Ajoutez un ComboBox avec une liste déroulante de départements. 
  4. CommandButton pour ajouter : Ajoutez un bouton Ajouter
  5. CommandButton pour annuler : Ajoutez un bouton Annuler

3. Code VBA pour afficher et gérer le formulaire

Ensuite, vous devez écrire du code VBA pour afficher le formulaire et gérer l’ajout des données. 

Voici le code détaillé :  

' Module VBA 
Sub OuvrirFormulaire() 
    ' Cette fonction permet d'afficher le formulaire 
    UserForm1.Show 
End Sub 
' Code du formulaire (UserForm1) 
Private Sub UserForm_Initialize() 
    ' Cette procédure initialise les éléments du formulaire lorsque le formulaire est ouvert 
    ' Remplir la ComboBox avec les départements 
    ComboBox1.AddItem "Ressources Humaines" 
    ComboBox1.AddItem "Informatique" 
    ComboBox1.AddItem "Marketing" 
    ComboBox1.AddItem "Finance" 
    ' Placer le focus sur le champ Nom 
    TextBox1.SetFocus 
End Sub 
Private Sub CommandButton1_Click() 
    ' Cette procédure est appelée lorsque le bouton Ajouter est cliqué 
    ' Récupérer les données saisies par l'utilisateur 
    Dim nom As String 
    Dim age As Integer 
    Dim departement As String 
    nom = TextBox1.Value 
    age = TextBox2.Value 
    departement = ComboBox1.Value 
    ' Vérification que tous les champs sont remplis 
    If nom = "" Or age = "" Or departement = "" Then 
        MsgBox "Veuillez remplir tous les champs.", vbExclamation 
        Exit Sub 
    End If 
    ' Ajouter les données dans la feuille de calcul (ici, les ajouter à la première ligne vide) 
    Dim ws As Worksheet 
    Set ws = ThisWorkbook.Sheets("Employes") 
    ' Trouver la première ligne vide 
    Dim i As Integer 
    i = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1 
    ' Insérer les données dans la feuille de calcul 
    ws.Cells(i, 1).Value = nom 
    ws.Cells(i, 2).Value = age 
    ws.Cells(i, 3).Value = departement 
    ' Message de confirmation 
    MsgBox "Données ajoutées avec succès.", vbInformation 
    ' Réinitialiser le formulaire pour une nouvelle saisie 
    TextBox1.Value = "" 
    TextBox2.Value = "" 
    ComboBox1.Value = "" 
End Sub 
Private Sub CommandButton2_Click() 
    ' Cette procédure est appelée lorsque le bouton Annuler est cliqué 
    Unload Me ' Ferme le formulaire 
End Sub

Explication du Code 

  1. UserForm_Initialize() : Cette fonction est exécutée lorsque le formulaire est ouvert. Elle initialise les contrôles du formulaire, comme la liste des départements dans le ComboBox. 
  2. CommandButton1_Click() : Lorsque l’utilisateur clique sur le bouton Ajouter, cette procédure récupère les valeurs saisies dans les champs et les ajoute à la feuille de calcul « Employes ». Elle vérifie également que tous les champs sont remplis avant d’ajouter les données. 
  3. CommandButton2_Click() : Cette procédure ferme simplement le formulaire lorsque l’utilisateur clique sur le bouton Annuler.

 4. Création d’une feuille de données

Dans votre classeur Excel, créez une feuille de calcul nommée « Employes ». Cette feuille contiendra les colonnes suivantes : 

  • Colonne A : Nom 
  • Colonne B : Âge 
  • Colonne C : Département 

5. Tester le formulaire

  • Retournez dans Excel. 
  • Créez un bouton (via Insertion > Formes > Bouton) et associez-le à la macro OuvrirFormulaire. 
  • Cliquez sur le bouton pour ouvrir le formulaire de saisie de données. 
  • Entrez les données et cliquez sur Ajouter pour les ajouter à la feuille de calcul. 

6. Personnalisation du formulaire

Vous pouvez personnaliser davantage votre formulaire en fonction de vos besoins. Par exemple : 

  • Ajouter des cases à cocher pour des options supplémentaires. 
  • Utiliser des zones de texte masquées pour la saisie de mots de passe. 
  • Ajouter des contrôles pour la modification et la suppression des données déjà existantes. 

Conclusion 

Ce code fournit un exemple de base pour créer un formulaire de saisie de données personnalisé dans Excel à l’aide de VBA. Vous pouvez étendre cette structure pour répondre à des besoins plus complexes et enrichir l’expérience utilisateur avec des fonctionnalités supplémentaires comme la validation des données et la gestion des erreurs. 

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x