Les feuilles utilisateurs (5)


Nommer les contrôles

Pour faciliter la rédaction des procédures que nous allons aborder par la suite il est préférable de nommer les objet de la feuille utilisateur. Par exemple la zone de liste modifiable pour la saisie des titre à comme nom par défaut "ComboBox1"

Nous pouvons la renommer en Titre

Nous allons procéder de la même manière pour tous les objets de contrôle de la feuille utilisateur.


Les procédures événementielles

Pour chaque objet il existe des procédures événementielles qui s'exécutent quand l'utilisateur utilise ces
derniers (choix dans une liste, cocher une case, clic sur le bouton OK etc.). Nous allons créer une procédure
pour appeler la feuille utilisateur avec le bouton de commande que nous venons de créer dans la feuille "Liste". 

Les procédures dans le code VBA commencent par Sub (subroutine)et se terminent par End Sub

Faites un double clic sur le bouton de commande "Nouveau client". Une nouvelle fenêtre s'ouvre dans
 l'éditeur VBA avec une feuille de module.
NB: vous devez être en mode création

 

Dans la feuille de module tapez comme commentaire la ligne suivante:
'Ouvrir le formulaire de saisie
et tapez "Entrée".
(NB Les commentaires sont des lignes de texte qui ne sont pas exécutées dans la procédure et commencent
par un apostrophe et s'affichent en vert)

Les données saisies seront insérées dans la deuxième ligne de la feuille: Veuillez taper
les deux lignes suivantes:

Les objets des feuilles utilisateur gardent dans leur propriétés les dernières valeurs saisies.
Afin d'obtenir une feuille utilisateur vierge il faut remettre à zéro tous les contrôles de la feuille.
A cet effet veuillez taper les lignes suivantes dans la procédure. Nous avons utilisé les noms
que nous avons défini pour chaque objet de contrôle.

Pour les cases d'option "Sexe" nous avons choisi comme valeur par défaut "False"
et allons initialiser ceci dans la feuille "Liste"

Ajoutez la ligne suivante: Range("G2") = False

et pour afficher la feuille nous ajoutons encore UserForm1.Show

Pour fermer la feuille utilisateur nous devons encore définir les contrôle pour les boutons de
commande "OK" et "Annuler". Lorsque l'utilisateur clique sur le bouton "OK" les données
seront insérées dans la feuille "Liste".

Dans l'éditeur VBA faites un double clic sur Userform1 pour afficher le userform et double-cliquez
sur le bouton "OK" pour accéder à la procédure de celui-ci. Tapez la ligne
UserForm1.Hide

 

Pour faire insérer les données sur une nouvelle ligne dans la liste veuillez ajouter ces deux
lignes dans la procédure du bouton "OK".

Rows(2).Select
Selection.Insert
 

Nous allons maintenant personnaliser les boutons d'options pour le choix du "sexe". et
remplacer les valeur True ou False par "Femme" et "Homme".

Toujours dans la procédure du bouton "OK" tapez les lignes suivantes:

If Range("G3") = True Then
Range("G3") = "Femme"
Else
Range("G3") = "Homme"
End If

Nous allons encore rajouter une instruction dans cette procédure pour trier la
liste en ordre alphabétique des noms. Ajoutez les lignes suivantes

Selection.Delete (Supprime la ligne insérée au début de la procédure)

Nous allons aussi trier la liste en ordre alphabétique par rapport aux noms:
Range("adresse").Sort Key1:="Nom", Header:=xlYes


Bouton Annuler

Nous allons maintenant créer la procédure pour le bouton "Annuler". Si l'utilisateur clique sur "Annuler"
la saisie ne doit pas être faite.

Revenons sur notre feuille utilisateur et double-cliquez sur le bouton "Annuler"

Tapez les lignes suivantes pour fermer le userform et pour annuler la saisie.

UserForm1.Hide
Worksheets("liste").Rows(2).Select
Selection.Delete

Fermez la fenêtre de la procédure


<Revenir à la page précédente

Cliquez ici pour voir la suite>