Vous êtes sur la page 1sur 21

Macros-commandes VBA/Cration de Formulaire

Une page de Wikiversit.


< Macros-commandes VBA

Un Userform (galement appel formulaire dynamique), permet de raliser des interfaces utilisateurs simples et conviviales pour la saisie, la modification ou la
visualisation de donnes. Nous allons dans ce chapitre expliquer le fonctionnement de base de la cration de formulaire laide de plusieurs exemples.

Sommaire
1 Gnralits
1.1 Dfinition du formulaire
1.2 Types de formulaires dynamiques Excel
1.3 Un peu de vocabulaire autour des formulaires
2 Cration de l'interface
2.1 Accs l'diteur Visual Basic
2.2 Insertion du formulaire
2.3 Les proprits
2.3.1 Pour afficher les proprits
2.3.2 Name
2.3.3 Caption
2.3.4 Font
2.3.5 Backcolor Bordercolor - Border style
2.3.6 Picture
2.3.7 ControlSource
2.3.8 SpecialEffect
2.4 Les contrles de la bote outils
2.4.1 Le label
2.4.2 Le TextBox
2.4.3 La ComboBox
2.4.4 Le CommandButton
2.5 Finaliser la prsentation du formulaire
2.5.1 Initialiser une boite de texte
2.5.2 Modifier les couleurs
2.5.3 Aligner les contrles
2.5.4 Dfinir lordre de saisie des contrles
2.5.5 Afficher des messages d'aide
2.6 Tester lapparence
3 Initialisation du formulaire : transfert de donnes de la feuille vers le formulaire
3.1 Le module VBA du formulaire
3.2 Remplir les listes
3.2.1 Via VBA
3.2.2 Via la fentre proprits et VBA
3.3 Afficher par dfaut un lment de la liste ou une case vide
3.4 Les listes multi colonnes
3.5 Les listes choix multiples
3.6 Les boutons d'option et les cases cocher
3.7 Les botes de texte et les labels
3.8 Tester votre formulaire
4 Afficher et masquer un formulaire
4.1 Comment afficher un formulaire grce un bouton ?
4.2 Masquer un formulaire
4.3 Modification du formulaire en cours de saisie et validation des donnes
4.3.1 Modifier les couleurs d'un bouton
4.3.2 Modifier le texte et la police du bouton
4.3.3 Utiliser un intitul (Label) et une zone de texte (TextBox)
4.3.4 Bouton "Valider"
4.4 Programmer une zone de liste (ComboBox)
4.4.1 Intitul
4.4.2 Zone de liste (ComboBox)
4.5 Utiliser un bouton Option
4.6 Contrler une saisie dans une TextBox
5 Transfert de donnes du fomulaire dans la feuille
5.1 Botes de texte
5.2 ComboBox
6 Exercices
6.1 Exemple d'initialisation d'un formulaire
6.2 Exemple de code associ un contrle
6.3 Exemple de cration d'un formulaire personnalis
7 Les formulaires Access et Excel
7.1 Description
7.2 Cration
8 Les principaux contrles et leurs proprits
8.1 Frame
8.2 Button
8.3 Label
8.4 LinkLabel
8.5 TextBox
8.6 CheckBox
8.7 OptionButton
8.8 ListBox
8.9 Image
8.10 PictureBox
8.11 Ligne - Line
8.12 Forme gomtrique - Shape
8.13 Explorateur de disques
8.14 Explorateur de dossiers
8.15 Explorateur de fichiers
9 Exemple de code associ un contrle
10 Inventaire des composantes d'un formulaire
11 Compiler un excutable
12 Rfrences
13 Annexes
13.1 Bibliographie
13.2 Liens internes
13.3 Liens externes

Gnralits
Dfinition du formulair e

Un formulaire est un document conu avec une structure et un format qui permettent de faciliter la lecture, la capture, lorganisation et la modification des
informations saisir ou afficher. Il existe 2 types de formulaires :

Les formulaires imprims sur papier (formulaires statiques) qui contiennent des mises en forme, des tiquettes et des espaces vides pour crire des
donnes. Vous pouvez utiliser Excel et les modles Excel pour crer des formulaires imprims.
Les formulaires affichs l'cran (formulaires dynamiques) qui contiennent des mises en forme, des tiquettes, des objets de saisie et des espaces vides
pour renseigner, cocher ou slectionner des donnes et qui peuvent surtout ragir aux actions de lutilisateur (clic, dplacement, ...). Vous pouvez utiliser
VBA Excel pour crer des formulaires affichs.

Types de formulaires dynamiques Excel

Vous pouvez crer 2 types de formulaires dans Excel : formulaires utilisateurs (userforms) ou feuilles de calcul (sheets). Les 2 types peuvent contenir des
contrles de formulaire et des contrles ActiveX ainsi que le code VBA qui leur est associ. Vous pouvez utiliser chaque type de formulaire de manire
autonome, ou les combiner de diffrentes faons pour crer une solution qui vous convienne. Nous allons dans ce chapitre tudier les formulaires utilisateurs
VBA.

Un peu de vocabulair e autour des formulaires

Dans le module Userform (formulaire), toutes les procdures sont des actions rpondant des actions sur des objets nomms contrles ActiveX (formulaire,
bouton, boite de texte, case cocher, liste droulante, ) inclus dans le formulaire. Ce formulaire prsentant en outre un ensemble de proprits , de mthodes et
rpondant des vnements :

Name : permet de dfinir le nom du formulaire


Caption : permet de dfinir le titre du formulaire
Minimize : rapetisse le formulaire
Load : charge en mmoire et ouvre le formulaire
Show : affiche le formulaire
Change : permet de dclencher des actions sur changement intervenu sur le formulaire
Initialize : permet de dclencher des actions sur chargement du formulaire
Activate : permet de dclencher des actions sur activation du formulaire
Close : permet de dclencher des actions sur fermeture du formulaire

Cration de l'interface
Accs l'diteur Visual Basic

Avant de crer l'interface de notre formulaire, l'utilisateur devra, en se positionnant sur l'onglet dveloppeur du fichier EXCEL sur lequel il se trouve, 'ouvrir la
fentre VBA'. Il pourra galement utiliser le raccourci Alt + F11.

Insertion du formulair e

Une fois la fentre VBA ouverte, l'utilisateur pourra crer un userform (formulaire), via insertion puis user form.

Il rcupre alors un 'Userform vierge' qui apparait quil va personnaliser en fonction de ce quil veut effectuer avec ce formulaire (saisie de donnes, contrles
des donnes, proposition lutilisateur). Cette personnalisation va notamment seffectuer via 'les proprits' et 'la boite outils'.
Les proprits

Grce aux proprits du formulaire, il est possible de modifier un certain nombre de choses. Par souci de simplicit, nous nabordons que quelques proprits du
formulaire dans cette leon mais sachez quil en existe beaucoup dautres. Nous aborderons les proprits les plus courantes telles que :

Name
Caption
Font
Backcolor Bordercolor - Border style
Picture

Pour afficher les proprits

Pour 'afficher les proprits', dans la mme logique quavec Excel ou Windows, je place mon curseur sur le UserForm, jeffectue un clic droit et je vais afficher
les proprits.La fentre de proprit du UserForm saffiche droite en dessous de notre fentre projet, une multitude de proprit apparait.

Par souci de simplicit, nous ne prsentons que quelques illustrations de lutilisation des proprits les plus utilises permettant dapporter plus desthtique
(police, couleur), mais galement plus d'interactivit avec l'utilisateur.

Name

La proprit name correspond au nom de lobjet, cest ce nom que lon va utiliser dans notre code pour appeler lobjet.

De manire gnrale, et par souci defficacit, il est recommand de nommer les objets en expliquant quoi ils servent. Dans lexemple que nous avons choisi,
le formulaire va permettre lutilisateur lallocation dune charge de travail de chaque acteur en fonction du projet sur lequel il travaille. Il est donc recommand
de renommer le UserForm1 de base par UserFormProjet. Ce simple nommage permettra lutilisateur de sy retrouver beaucoup plus facilement dans son code
par la suite, de gagner du temps et dviter de nombreuses erreurs dinattention.
Remarque

La proprit Name peut aussi s'appliquer sur la proprit Parent de l'objet. Par exemple dans Excel :

Dim F As Excel.Worksheet
Set F = ActiveSheet
MsgBox "La feuille " & F.Name & " se trouve dans le fichier " & F.Parent .Name & " de l'application " & F.Parent .Parent .Name

Caption

La proprit caption permet lutilisateur de modifier le titre de son formulaire. L encore, il est fortement recommand lutilisateur de respecter une certaine
cohrence. Toujours avec notre mme exemple de formulaire pour la saisie de projet :

Font

Cette proprit va permettre lutilisateur de modifier la police de la caption que nous avons aborde prcdemment. Lutilisateur va ainsi avoir la possibilit de
choisir un type de police particulier, sa taille, si cette police sera en italique, en gras Il suffit de se positionner sur font dans les proprits, puis dappuyer sur
le bouton qui apparait lextrmit droite de la ligne.
Une fois cette tape effectue, une boite de dialogue police apparait, il vous suffit ensuite de choisir la police qui vous convient.

Backcolor Bordercolor - Border style

Ces trois proprits vont permettre lutilisateur de modifier sa guise la couleur de fond du formulaire, la couleur de la bordure mais galement le style de la
bordure. Ces trois proprits sont trs utiles quand vous voulez donner une esthtique recherche votre formulaire. Ces proprits fonctionnent de la mme
faon que la proprit Font, en effet, il suffit de se placer sur la ligne de ces proprits, cliquer sur le bouton qui apparait lextrmit droite, puis une liste de
choix apparait.

La taille 0 correspond une bordure invisible alors que la taille 1 correspond une bordure simple.

Picture
Pour aller encore plus loin dans lesthtisme, vous avez galement la possibilit de placer une photo en image de fond de votre formulaire. Il suffit de se placer
dans le proprit Picture, cliquer sur le bouton plac l'extrmit de la ligne.

Une fois cette manipulation effectue, une boite de dialogue charger une image apparaitra, il vous suffira alors daller chercher dans vos dossiers limage que
vous souhaitez slectionner en image de fond pour votre formulaire.

Voil quoi ressemble votre formulaire une fois que vous avez effectu toutes ces modifications, simplement en ayant modifi quelques proprits.

ControlSource

Cela permet de lier un champ du formulaire une cellule d'une feuille qui existe dans le classeur. Le champ affichera donc la valeur de la cellule, puis sur
libration il lui donnera sa nouvelle valeur (synchronisation).

Ex : Feuil1!A1.

Si la cellule contient une formule, le champ du formulaire la remplacera par sa valeur.

SpecialEffect

Ce champ dfinit le look de lobjet (formulaire, TextBox...), il peut prendre cinq valeurs diffrentes[1] :

1. 0-frmSpecialEffectFlat : rendu 2D. C'est celui par dfaut des formulaires.


2. 1-fmSpecialEffectRaised : rendu 3D o lobjet est surlev (mis en avant).
3. 2-frmSpecialEffectSunken : rendu 3D o lobjet est abaiss (mis en arrire). C'est celui par dfaut des TextBox et CheckBox.
4. 3-fromSpecialEffectEtched : 2D avec une bordure.
5. 4-frmSpecialEffectBump : 3D avec une bordure.

Les contrles de la bote outils

Pour afficher la boite outils, si elle ne saffiche

pas automatiquement, il faut se rendre dans affichage et slectionner boite outils .

Comme pour les proprits, nous allons vous prsenter un certain nombre de contrles qui vous seront utiles pour crer votre formulaire personnalis. Vous allez
slectionner certains contrles de la boite outils, les insrer dans votre formulaire, puis rgler les proprits de ces contrles et enfin dynamiser ces contrles en
programmant leurs ractions aux vnements (Clic, Saisie, Dplacement, Ouverture, ...).

De plus, vous pourrez ajouter des contrles supplmentaires et personnaliser ainsi votre boite outils. Vous trouverez galement un certain nombre de contrles
ActiveX sur internet et il vous sera mme possible, une fois que vous serez laise avec la programmation, de crer vous-mme vos contrles.
Le label

Le contrle label permet gnralement de placer un intitul (libell) ct dun contrle ne procdant pas cet attribut, ct dune zone de texte par exemple,
afin de permettre lutilisateur den identifier le contenu.

partir de l, vous pouvez utiliser lensemble des proprits que nous avons vu prcdemment notamment renommer votre label afin daider lutilisateur dans
la comprhension du formulaire. Et voici ce quoi votre formulaire pourrait ressembler si vous ajoutez 18 labels que vous renommez.

Le TextBox

Le contrle TextBox permet de placer des zones de saisie de texte sur la feuille, dans laquelle lutilisateur pourra renseigner des informations. Les proprits
dun contrle TextBox permettent de contrler le nombre de caractres maximum que pourra entrer lutilisateur, laffichage sur plusieurs lignes du texte ou
encore le type dalignement du texte dans la zone de texte...
Voici le formulaire obtenu une fois ajoutes 12 x 6 = 72 TextBox pour la saisie des utilisateurs. Afin que lutilisateur aie limpression de saisir ses informations
dans un tableau, nous avons modifi lune des proprits des TextBox, la proprit BackStyle, en appliquant BackStyleOpaque.

La ComboBox

Le contrle ComboBox, ou la zone de liste modifiable, est une zone de texte permettant lutilisateur de saisir une valeur manuellement ou de la slectionner
dans la liste qui se droule lorsquil clique sur le bouton prvu cet effet. Un contrle ComboBox peut permettre lutilisateur de saisir une valeur ne figurant
pas dans la liste, ou nautoriser quune des valeurs de la liste.

Ce contrle ninclue pas dintitul, par consquent il est recommand dajouter un LabelBox pour que lutilisateur sy retrouve dans le formulaire.
Les alternatives sont la ListBox (liste dfilante), et dans Excel la cellule liste (Donnes, Validation des donnes, Autoriser = Liste).

Le CommandButton

Il est possible dajouter votre formulaire un bouton permettant lutilisateur deffectuer diverses actions. Il peut par exemple servir valider les informations
entres dans la feuille (bouton OK) afin de passer ltape suivante du programme, ou au contraire dinterrompre le programme (bouton Annuler).
Il est important de garder lesprit lorsque que vous manipulez les contrles ActiveX, que chaque ActiveX dispose de ses propres proprits que vous pouvez
manipuler votre guise.

Finaliser la prsentation du formulair e

La taille d'un formulaire est fixe ; il ne s'adapte donc pas automatiquement la taille ou la rsolution de l'cran. Si le formulaire est utilis sur un autre PC, en
fonction des dimensions de ce dernier, il y aura certaines diffrences.

Il est possible de redimensionner le formulaire ainsi que tous les contrles par code VBA mais ce nest pas vident. Dans ce cas, il vaut mieux raliser de petits
formulaires afin danticiper lusage dun cran de plus petite taille que celui initialement utilis.

Il est important de savoir que les contrles onglet et surtout multi-pages permettent de rpartir les diffrents contrles sur plusieurs pages successives : cest une
bonne mthode pour permettre de saisir de faon plus simple un nombre consquent de donnes.

Initialiser une boite de texte

Il est galement possible de pr remplir une bote de texte avec un texte que l'utilisateur effacera pour faire sa saisie. Cela se fait au moment de l'initialisation du
formulaire, par code VBA, ou bien dans la fentre proprit en remplissant la proprit "Text".

Modifier les couleurs

Il est possible de choisir les couleurs de fond des formulaires ainsi que des diffrents contrles utiliss. Pour cela, il y a deux possibilits :

Utiliser une des couleurs prdfinies de la palette en cliquant sur la flche en face de backcolor puis sur palette.
Dfinir sa propre couleur : clic droit sur la palette puis sur dfinissez votre couleur et enfin cliquer sur le bouton ajouter.

Aligner les contrles

Aligner les contrles permet davoir un meilleur visuel quand la disposition des contrles dans un formulaire. Pour cela, il faut :

Slectionner les contrles voulus avec la touche Ctrl


Les aligner : Menu format puis Aligner de l'diteur VBA.

Il est galement possible de les rpartir ou encore dajuster leurs tailles de faon avoir des dimensions uniformes et des espacements quidistants.

Dfinir lordre de saisie des contrles

Afin de faciliter la saisie, il parat plus pratique duser de la touche tabulation pour se dplacer dans un formulaire. Il est possible de dfinir lordre dans lequel
les contrles seront slectionns, pour cela :

Ouvrir le menu affichage


Slectionner ordre de tabulation
Faire monter ou descendre les diffrents contrles qui apparaissent dans la liste jusqu' ce que lordre convienne.

Afficher des messages d'aide

Insrer des messages de faon indiquer lutilisateur comment entrer une donne est utile dans bien des cas. En effet, cela permet dinformer lutilisateur et lui
viter de saisir plusieurs fois une information car le format ntant pas adapt, linformation ne sera pas prise en compte : par exemple, indiquer que la date doit
tre saisie sous format jj/mm/aaaa. Cest la proprit controlTipText qui permet cela.

Exemple : renseignez "numro 10 chiffres sans espaces" dans le ControlTypeText de la textbox concerne
Tester lapparence

Il est possible de visualiser le formulaire tout moment afin de vrifier comment le formulaire apparaitra l'utilisateur et de pouvoir ainsi corriger les ventuels
indsirables. Pour cela, il sagit dappuyez sur la touche F5 ; elle permet de lancer le formulaire.

Initialisation du formulaire : transfert de donnes de la feuille vers le formulaire


Dans cette partie, il sagit de montrer comment procder pour lintgration des donnes issues dun tableau Excel dans un formulaire dynamique. Il est noter
que ce nest pas systmatiquement un besoin. En effet, en fonction de lexercice et des exigences, cela sera demand ou non.

Le module VBA du formulair e

Dans un premier temps, il sagit de daccder lUserform ou formulaire. Pour cela, il faut :

Aller dans lditeur VBA


Faire un clic droit sur le nom du formulaire pour visualiser le code associ.

Le formulaire souvre alors ainsi que la fentre qui permet de visualiser tous les contrles associs au formulaire.

Remplir les listes

Pour que les diffrents choix possibles s'affichent dans les listes, il y a plusieurs solutions. Celles-ci s'appliquent que ce soit une ListBox ou une ComboBox.

La mthode AddItem : cette option consiste taper un code VBA en utilisant linstruction AddItem
La proprit RowSource : cette option consiste afficher la fentre proprit du contrle et la paramtrer afin de slectionner une plage de donnes bien
prcise. Elle peut tre remplie en mode graphique avec un tableau (ex : Feuille1!C22:C28)
La proprit List : cette option consiste galement afficher la fentre proprit du contrle et la paramtrer afin de slectionner une plage de donnes
bien prcise

Concernant les proprits RowSource et List, il sagit de complter manuellement dans la fentre proprits du contrle ou par VBA.

Via VBA

Il sagit de la mthode AddItem qui consiste en laffectation dune proprit la plage de donne voulue.

La mthode AddItem ajoute les lments les uns aprs les autres. Pour cela, la macro doit tre crite dans le UserForm UserForm Initialize. Pour cette premire
mthode, il y a diffrentes tapes suivre :

Tout dabord, il sagit dans un premier temps de slectionner la ComboBox ou ListBox concerne et vrifier que la proprit RowSource est vide.
Ensuite, il faut double cliquer sur le userform cre pour accder au code
Enfin, il sagit de composer le code avec linstruction AddItem
Aprs cela, il faut excuter le programme afin de le tester.

Illustration :

Pour un exemple o il s'agit d'intgrer diffrentes projets, il faut agir comme suit :

Private Sub UserForm_Initialize ()


'Cette procdure renseigne le ComboBox1 avec des valeurs
ComboBox1 .AddItem "Projet 1"
ComboBox1 .AddItem "Projet 2"
ComboBox1 .AddItem "Projet 3"
End Sub

Ou

Private Sub UserForm_Initialize ()


'Cette procdure renseigne la ListBox1 avec des valeurs
ListBox1 .AddItem "Projet 1"
ListBox1 .AddItem "Projet 2"
ListBox1 .AddItem "Projet 3"
End Sub

On peut galement remplir une liste partir d'une plage de donnes slectionnes : cest conseill et surtout utile lorsque on souhaite par exemple slectionner
uniquement les projets commenant par un caractre bien prcis.

Illustration :

Private Sub UserForm_Initialize ()


For Each projet in range("data!A1:A20" )
If left(projet .value,1)="1" then ComboBoxchoixProjet .AddItem (projet .value)
End Sub

Il est noter quil existe galement la mthode RemoveItem mais celle-ci fait exactement l'inverse de la mthode AddItem : elle permet de supprimer un lment
de la ComboBox ou ListBox.

Via la fentre proprits et VBA

Cela concerne principalement la proprit RowSource : elle permet daffecter une rfrence une plage de donnes ; elle attend un champ vertical. Pour cette
seconde mthode, il y a diffrentes tapes suivre :

On inscrit dabord les donnes qui nous intressent pour cette manipulation dans une feuille Excel
Poser un label sur le UserForm
Poser une zone de liste modifiable sur le UserForm
Rechercher la proprit RowSource de la ComboBox et entrer simplement :
1re option : les rfrences de la feuille Excel comme ceci : Feuil1!A1:A3 Il sagit tout simplement de la source des donnes affiches dans la
ComBox / l'adresse de la plage contenant les donnes ou,
2e option : un nom dfini (onglet formules/dfinir un nom) faisant rfrence la plage souhaite ou,
3e option : la rfrence une colonne d'un tableau Excel : par exemple Projet [Nuclaire] si le tableau sappelle Projet et le titre de la colonne est
Nuclaire. Pour cela il faut que les donnes source soient sous forme de tableau.

( Cette option prsente un avantage compar aux prcdentes : elle permet dintgrer automatiquement dans la liste sur le formulaire sil y a ajout de donnes
dans la colonne en question. )

Attention ! Il faut respecter les majuscules et minuscules dans les noms des tables et colonnes.

Rechercher la proprit Value et lui donner comme valeur Choisir


Poser un bouton de commande et entrer le code suivant :

Private Sub CommandButton1_Click ()


Label1 .caption = ComboBox1 .Value
End Sub

Enfin, excuter le programme pour sassurer de son bon fonctionnement

Instruction Array

Par ailleurs, on peut utiliser un array ou tableau interne pour remplir une liste ou une combobox.

Cest utile dans le sens o cela vite de devoir crer un tableau avec les donnes ncessaires dans un classeur Excel. C'est donc pratique uniquement sil ny que
quelques lments ajouter dans la liste de choix. Lutilisation des array prsente un autre intrt non ngligeable. En effet, lutilisateur peut avoir besoin de
construire une liste partir d'lments qui auront t slectionns auparavant suivant des critres complexes. Le rsultat de ce tri peut tre stock dans un array
qui sera ensuite rinject dans la liste en question.

Lun des grands avantages des tableaux est leur trs grande rapidit d'excution : travailler avec les tableaux est beaucoup plus rapide que de travailler en faisant
des boucles sur des plages de donnes de la feuille.

Illustration :

Private Sub RemplirCombo ()


ComboBoxProjet .List = Array("Un", "Deux" , "Trois" , "Quatre" )
End Sub

Cest utile dans le sens o cela vite de devoir crer un tableau avec les donnes ncessaires dans un classeur excel. C'est donc pratique uniquement sil ny que
quelques lments connus d'avance ajouter dans la liste de choix.

Il existe galement la proprit List qui elle est remplie par un tableau vertical ou horizontal.

Afficher par dfaut un lment de la liste ou une case vide

Cest linstruction listIndex qui permet dafficher par dfaut un lment de la liste.

Il est possible de forcer laffichage du premier choix (ou d'un autre) lment de la liste en ajoutant l'instruction suivante :

ComboBoxProjet.ListIndex = 1 (ou 2 ou 3...)

Pour forcer laffichage d'une case vide dans une ComBox, il faut utiliser l'instruction suivante :

ComboBoxProjet.ListIndex = -1

Les listes multi colonnes

Il est envisageable de vouloir afficher non pas une mais deux voire deux, trois ou mme quatre colonnes dans une seule liste.

La proprit ColumnCount est particulirement utile dans ce cas l : elle permet dindiquer le nombre de colonnes quil faudra par la suite complter.

Il est plus simple de le faire partir des donnes de la feuille.

Dans ce cas, il faut utiliser la proprit List: pour une ListBox ou une ComboBox multi colonnes, la proprit List attend un array 2 dimensions afin de prendre
en compte les lignes et les colonnes. Pour afficher une liste de 3 colonnes et de 7 lignes dans la ComboBox nomme Projet, il faudra agir comme suit :

Illustration :

With Projet
ColumnCount = 3
List = Range("H2:J8").Value
End With

La proprit list attend un array de valeurs. Il est donc parfaitement possible de remplir la liste multi-colonnes avec un array cr en VBA partir d'autres
donnes (feuille, autre array...).

C'est utile si lon souhaite par exemple rcuprer les donnes de la feuille puis les trier par ordre alphabtique ou ne conserver que les valeurs rpondant un
critre particulier.
Par dfaut, la proprit par dfaut Value d'une ListBox ou d'une ComboBox renvoie la valeur de la premire colonne. Si vous voulez que ce soit par dfaut la
valeur de la 2e colonne ou autre, il faut le prciser en utilisant la proprit BoundColumn

Illustration :

Projet.boundColumn = 2

Les listes choix multiples

Les listes choix multiples permettent de slectionner plusieurs rponses. Ce nest pas le cas des ComboBox.

Par dfaut, un seul choix est possible mais il est possible dautoriser le choix multiple par lintermdiaire de linstruction MultiSelect.

Illustration :

Il faut ajouter cette ligne dans le UserFor_Initialise :

ListActivit.MultiSelect = fmMultiSelectExtended

Les boutons d'option et les cases cocher

Il est possible de proposer un choix par dfaut l'utilisateur quand le formulaire s'affiche comme par exemple rpondre "Monsieur" la demande dtat Civil.

La proprit par dfaut d'un bouton d'option ou d'une case cocher est la proprit value : elle n'admet que deux valeurs : true ou false (vrai ou faux) et cela
mme si vous affichez "Monsieur" ou "Madame" sur vos options. On pourra bien entendu rcuprer le genre par la suite quand le formulaire sera valid.

Pour initialiser le formulaire avec l'option "Monsieur" pr coche, il suffit d'ajouter une ligne dans le code UserForm_Initialize.

Dans le cas o le bouton sappelle OptF, on procde comme suit :

Illustration :

OptF.value = true ou OptF = True

La proprit value tant la proprit par dfaut il nest pas ncessaire de le prciser ainsi, les deux critures sont quivalentes.

Il faut noter que les boutons d'option sont exclusifs ainsi si lon crit : OptM=true et OptF=true, seul le bouton OptF sera coch.

Pour ce qui est des cases cocher, il en est tout autrement : il est possible de cocher plusieurs cases.

Les botes de texte et les labels

Il est possible dafficher, sur le formulaire, une information qui na pas tre modifi par lutilisateur comme par exemple la date ou le contenu dune cellule.

Illustration :

Pour afficher la date du jour dans l'tiquette nomme LblDate :

LblDate = Date

Il faut noter que Date est une instruction de VBA qui affiche la date du jour.

Autrement, pour afficher le contenu de la cellule D2 de la feuille Data :

LblX = sheets("data").range("D2")

Attention ! : Il nest pas possible dafficher une plage de donnes dans une tiquette ; Excel renvoie une erreur d'incompatibilit.

Il est galement possible de pr remplir une bote de texte, que ce soit pour mettre un texte indiquant l'utilisateur ce quil doit remplir, ou pour proposer une
rponse.

Illustration :

TxtPrnom.Text = "saisissez votre prnom ou votre pseudo"

Tester votre formulaire

Il est possible de tester le formulaire tout moment pendant lcriture du code dans le UserForm_Initialize en appuyant sur la touche F5 avec le curseur plac
nimporte o dans le code, ou sur le formulaire dans l'diteur VBA. ce stade du cours, lon a un formulaire avec des listes pr remplies, des options pr
cches et des boites de texte vides ou pr remplies. Cependant, l'appui sur les boutons ou le choix dans une liste ne dclenche rien. Nous allons voir dans le
paragraphe suivant comment activer les boutons et rcuprer les informations saisies par l'utilisateur.

Afficher et masquer un formulaire


Comment afficher un formulair e grce un bouton ?
Pour pouvoir afficher un formulaire, nous pouvons utiliser deux mthodes : afficher le formulaire l'ouverture du classeur ou l'aide d'un bouton. Nous allons
voir dans un premier temps la mthode du bouton plac sur la feuille

Bouton formulaire ou bouton activeX ?

Ouvrir Excel et placer un bouton sur la feuille Excel l'endroit souhait : pour effectuer cette manuvre les tapes suivre sont les suivantes :

Aller dans l'onglet dveloppeur


Cliquer sur insrer

Excel nous propose d'insrer deux types de contrles sur votre feuille : Des contrles de type formulaire. Des contrles de type ActiveX.

Dfinition

Un contrle formulaire permet de faciliter lorganisation et la modification des informations. Les


contrles formulaires sont issus des versions antrieures d'excel, ils sont conservs pour des raisons de
compatibilit d'excel.
Les contrles Activex taient connus sous le nom de contrles OLE ou de contrles OCX, en insrant
dans une page Web ou autre programme des contrles ActiveX d'autres utilisateurs pourront rutiliser les
fonctionnalits insres.

Nous allons nous intresser aux UserForm VBA incluant des objets ActiveX.

1. Pour insrer un contrle, slectionnez le dans la boite outils et faites le glisser dans le formulaire. Au moment du dpt dans le formulaire, certains
assistants se dclenchent (boutons, options, ...), puis entrez ses proprits et nommez le grce la fentre proprits.
2. Pour programmer un contrle, double-cliquer dessus et renseigner le code VBA lui associer

Afficher le formulaire avec un bouton plac dans la feuille

Nous allons voir les diffrents boutons proposs par l'onglet "Dveloppeur"

Placer le bouton de votre choix sur la feuille excel. Dans l'onglet Developpeur et cliquez dans proprits.

Voici un bouton plac sur feuille Excel

La mise en forme du bouton peut tre modifiable voici les actions pouvant tre menes :

Contrler laffichage dfinitif du formulaire


Slectionner et de dslectionner les contrles afin de procder des modification supplmentaires.
Modification du texte dans un contrle, telle que la lgende ou ltiquette.
Grouper, copier, dplacer et aligner les contrles afin dorganiser la disposition du formulaire de feuille de calcul.
Redimensionner les contrles afin dobtenir laffichage souhait.
Positionner ou dimensionner un contrle avec une cellule.
Protger les contrles et les cellules en fonction de vos besoins de protection
Activer ou dsactiver limpression des contrles lors de limpression du formulaire de feuille de calcul.
Supprimer des contrles qui sont inutiles.

Il faut crer un bouton dans la feuille (partie dveloppeur insrer bouton - > cliquer sur la cellule choisie) et lui affecter la macro suivante.Une fois le
bouton install vous devez inscrire une instruction qui lance laffichage d'un formulaire en appelant par son nom :

Private Sub CommandButtonformulaire_Click ()


UserFormprojet .Show
End Sub

Cette instruction lance laffichage du formulaire en commenant par la macro UserFormprojet.Show. Si Excel vous affiche un message d'erreur ce stade,
lancez votre formulaire en mode pas pas : mettez vous dans l'diteur VBA cliquez dans le formulaire et appuyez sur la touche F8 de faon rpte. Le code
dfile et vous verrez o se situe votre erreur.

Masquer un formulair e

L'instruction qui vous permettre de masquer le formulaire est la suivante :

UsfAdhrent.hide

Mais si vous voulez faire rapparatre un formulaire dans l'tat o il tait lorsque vous l'avez masqu, utiliser l'instruction suivante :

UsfAdhrent.show

Modification du formulair e en cours de saisie et validation des donnes


Modifier les couleurs d'un bouton

Cliquer sur le bouton "CommandButton1", puis affichage Fentre Proprits

http://bdiemert.free.fr/wikiversity/VBA/IDEFenetrePropriete.jpg

Dans la liste des Proprits Affichage "Par catgorie" Menu "Apparence" Proprit "BackColor" pour la couleur du fond (ou Proprit "ForeColor" Pour
la couleur du texte) Dans la liste droulante droite Affichage "Palette" et slection de la couleur

http://bdiemert.free.fr/wikiversity/VBA/IDEFenetrePaletteCouleurs.jpg

Modifier le texte et la police du bouton

Dans la liste des Proprits Affichage "Par catgorie" Menu "Apparence" Proprit "Caption" Entrer le libell : "Quitter"

Pour modifier la police Menu "Police" Proprit "Font" et slectionner la police, le style et la taille

http://bdiemert.free.fr/wikiversity/VBA/IDEFenetrePolice.jpg

Rsultat sur le formulaire

http://bdiemert.free.fr/wikiversity/VBA/FRMBoutonQuitter.jpg

Utiliser un intitul (Label) et une zone de texte (TextBox)

Pour cet exemple nous allons crer 2 zones de texte, une pour le nom l'autre pour le prnom, 2 intituls et un bouton "Valider".

Placer 2 intituls sur le formulaire, (le contrle avec un A ) l'une ct de l'autre, dans la proprit "Caption" de la premire taper : Nom , dans la
deuxime : Prnom , puis utiliser les proprites "BackColor, ForeColor, Font ou autres pour la mise en forme
http://bdiemert.free.fr/wikiversity/VBA/IDEBoiteOutilsLabel.jpg
Sous chaque intitul nous placerons 2 zones de texte (le contrle avec ab| ) http://bdiemert.free.fr/wikiversity/VBA/IDEBoiteOutilsTexte.jpg
Faire un double-clic sur la premire (pour afficher le code) et taper le code suivant :

Private Sub TextBox1_Change ()


[A1] = UserForm1 .TextBox1
End Sub

Ceci affiche dans la cellule A1 le texte tap de la zone de texte 1 (TextBox1)

Idem pour la deuxime mais avec ce code ci http://bdiemert.free.fr/wikiversity/VBA/FRMNomPrenom.jpg

Private Sub TextBox2_Change ()


[B1] = UserForm1 .TextBox2
End Sub

Change() est un des vnements prdfinis qui surviennent lors des manipulations de zone de texte, comme les suivants
Click()
Initialize()
BeforeUpdate()
AfterUpdate()

Bouton "Valider"

Maintenant nous allons concatner le nom et le prnom dans la cellule C1. Pour cela, nous allons crer un bouton, et rentrer dans la proprit "Caption", y crire
"Valider", puis dans la proprit Apparence (Name) le nommer : "Bt_Valider", Double-cliquer sur ce bouton et taper ce code :

Private Sub Bt_Valider_Click ()


[C1] = UserForm1 .TextBox1 & " " & UserForm1 .TextBox2
End Sub

Maintenant, nous allons afficher le formulaire, taper le nom dans la zone de texte 1 et le prnom dans la 2 puis cliquer sur le bouton Valider
http://bdiemert.free.fr/wikiversity/VBA/IDENomPrenomValider.jpg

Programmer une zone de liste (C omboBox)

Pour cet exemple nous allons crer un intitul O habites-tu? et une zone de liste Les villes .

Intitul

Placer un intitul sur l'UserForm, rentrer dans la proprit "Caption" : O habites-tu ? puis utiliser les proprits de mise en forme BackColor, ForeColor,
Font etc.

Zone de liste (ComboBox)

Dans les cellules A1 A15 de la feuille 2 (Feuil2) du classeur entrer des noms de ville. '11e image' http://imageshack.com/a/img89/4760/5wnz.jpg

Revenir l'diteur Visual Basic ( Alt + F11 ), slectionner le formulaire, y placer une zone de liste modifiable '12e image'
http://imageshack.com/a/img23/6808/nwxn.jpg
Dans les proprits Donnes RowSource, rentrer la zone cible : Feuil2!A1:A15 '13e image' http://imageshack.com/a/img801/245/3pfh.jpg

Double-cliquer sur la zone de liste (ComboBox) et rentrer ce code:

Private Sub ComboBox1_Change ()


[C3] = UserForm1 .ComboBox1
End Sub

Utiliser un bouton Option

Pour cet exemple nous allons crer 2 boutons d'option pour choisir entre : Fille ou Garon , il faut placer avant tout chose un cadre (Frame) sur
l'UserForm. Proprit Caption : Fille ou garon '14e image' http://imageshack.com/a/img20/8900/4bvh.jpg
Il faut ensuite placer sur ce cadre 2 boutons d'option, nommer le 1er : fille , le 2e : garon , se servir des proprits BackColor, ForeColor, Font
etc pour la mise en forme '15e image' http://imageshack.com/a/img4/6462/anbj.jpg
Double-cliquer sur le premier bouton (Fille) et entrer ce code:

Private Sub OptionButton1_Click ()


If Controls ("OptionButton1" ).Value = True Then
[C4] = "Vous tes une " & Controls ("OptionButton1" ).Caption
End If
End Sub

Ce qui crira dans la cellule C4 "Vous tes une fille" lorsque ce bouton sera coch

Double-cliquer sur le deuxime bouton (Garon) et saisir le code :

Private Sub OptionButton2_Click ()


If Controls ("OptionButton2" ).Value = True Then
[C4] = "Vous tes un " & Controls ("OptionButton2" ).Caption
End If
End Sub

Cela crira dans la cellule C4 "Vous tes un garon" lorsque ce bouton sera coch '16e image' http://imageshack.com/a/img191/7605/nwl1.jpg

Contrler une saisie dans une T extBox

Nous allons vrifier maintenant la saisie dune TextBox laide dun nouvel exemple :

1. Placer un label en haut du formulaire, Proprit Caption : Indiquez votre prnom


2. Placer une TextBox dessous
3. Le bouton de commande tout en bas, Proprit Caption : Valider '17e image' http://imageshack.com/a/img41/4899/bcy4.jpg
4. Programmer le bouton "Valider" via un double-clic et la saisie du code suivant :

Private Sub CommandButton1_Click ()


If Controls ("Textbox1" ) = "" Then
MsgBox "Vous devez ABSOLUMENT indiquer votre prnom !" , vbExclamation , "ERREUR"
Controls ("Textbox1" ).SetFocus
End If
[A1] = UserForm1 .TextBox1
End Sub

Tant qu'au moins une lettre du prnom ne sera pas saisie, le focus replac sur la TextBox1, sinon le prnom s'affichera en A1 '18e image'
http://imageshack.com/a/img51/1829/2z3r.jpg

Transfert de donnes du fomulaire dans la feuille


Botes de texte

De base, la proprit dune zone de texte par dfaut est le texte. Pour mettre le contenu de cette bote de texte dans une cellule de la feuille de calcul, crivez :

Range("C1").value = TextBox1
Range("C2").value = TextBox2

Il y a bien sr la possibilit deffectuer une boucle afin daffecter une valeur aux TextBox de faon automatique. (Voir exercice associ cette leon).

Exercice :

Private Sub RangeBoitesDansCellules ()


' se positionne sur la feuille suivi
Set f = Sheets ("Tb suivi Projets + MCO + Act" )
' teste lordre du projet slectionn
If numeroDeProjet >= 0 Then
'initialise les lignes de dbut et de fin
'en fonction de lordre du projet dans le combo
ligned = 3 puis 11 puis 19 puis 27 ...
lignef = 8 puis 16 puis 24 puis 32
ligned = (numeroDeProjet * 8) + 3
lignef = ligned + 5
End If
' initialiser les box
boite = 0
' boucle sur les lignes de dbut fin
For ligne = ligned To lignef
' boucle sur les colonnes C N
For colonne = 3 To 14
' change de textbox chaque tour
boite = boite + 1
' range dans la cellule pointe par la colonne et la ligne
' la valeur de la boite de texte pointe par le numro de box
f.Cells(ligne, colonne ) = Me.Controls ("TextBox" & boite).Value
' va la colonne suivante
Next colonne
' va la ligne suivante
Next ligne
End Sub

'On peut aussi affecter cette valeur une variable :'

Dim Nom as String


Nom = TextBox1

ComboBox

Concernant la proprit d'une ComboBox, par dfaut cest .Value. Contrairement aux TextBox qui ne renvoient que du texte quil faut ensuite ventuellement
transtyper (changer le Type texte en nombre, date...), Excel reconnait le type de donne renvoy par une liste. Dim Activit as String ' modifier si la liste
contient une date ou un nombre ! Activit= ListActivit Range("F2")=Activit ou bien directement Range("F2")=ListActivit

Exercice :

Private Sub RangeProjetsDansCombo ()


' se positionne sur la feuille projet
Set f = Sheets ("Projets" )
'initialise les variables de projets
numeroDeProjet = -1
'Alimentation de la combobox avec le nom des diffrents projets
For projet = 2 To 4
ComboBoxChoixProjet .AddItem f.Cells(projet , 1)
Next projet
End Sub

Exercices
Exemple d'initialisation d'un formulair e

Le code suivant initialise le formulaire en masquant et minimisant Excel, en rglant taille, hauteur, largeur et position

Sub monFormulaire_Initialize ()
Excel.Application .Visible = False ' on peut masquer les feuilles de calculs
WindowState = Excel.XlWindowState .xlMinimized ' ou bien les minimiser
Me.Width = Application .Width ' ou encore recouvrir toute leur largeur
Me.Height = 590 ' dfinir de la hauteur en pixel
Me.Top = 0 'positionner en haut
Me.Left = Application .Left + Application .Width - Me.Width ' positionner le plus droite possible
End Sub

Exemple de code associ un contrle

Pour commencer associer du code un contrle, il est pratique de double cliquer dessus car cela cre automatiquement l'en-tte de la fonction.

Le code suivant rend visible un bouton quand on coche une case, et le masque quand on la dcoche

Sub maCasaCocher_Click ()
If Me.maCasaCocher = True Then
Me.monBoutonaCacher .Visible = True
Else
Me.monBoutonaCacher .Visible = False
End If
End Sub

Exemple de cration d'un formulair e personnalis

Ci-dessous, le lien pour l'exercice de cration de formulaire personnalis :

Macros-commandes VBA/Exercices/Cration de formulaire personnalis

Les formulaires Access et Excel


Description

Qu'est ce qu'un formulaire ?

Un formulaire est un document conu avec une structure et un format standards qui permettent de faciliter la capture, lorganisation et la modification des
informations.

Les formulaires imprims contiennent des instructions, des mises en forme, des tiquettes et des espaces vides pour crire ou taper des donnes. Vous pouvez
utiliser Excel et les modles Excel pour crer des formulaires imprims.

Types de formulaires Excel

Vous pouvez crer plusieurs types de formulaires dans Excel : formulaires de donnes, feuilles de calcul contenant des contrles de formulaire et des contrles
ActiveX, et formulaires utilisateurs VBA (Visual Basic Applications). Vous pouvez utiliser chaque type de formulaire de manire autonome, ou les combiner de
diffrentes faons pour crer une solution qui vous convienne. Nous allons dans ce chapitre les formulaires utilisateurs VBA.
Un peu de vocabulaire avant de commencer

Dans les modules Userforms (formulaire), toutes les procdures sont des actions rpondant aux contrles ActiveX (formulaire, bouton, boite de texte, case
cocher, ) inclus dans le formulaire.

Proprits du formulaire

Name : permet de dfinir le nom du formulaire

Caption : permet de dfinir le titre du formulaire

Mthodes du formulaire

Minimize : rapetisse le formulaire

Load : charge en mmoire et ouvre le formulaire

Show : affiche le formulaire

vnements du formulaire

Change : permet de dclencher des actions sur changement du formulaire

Initialize : permet de dclencher des actions sur chargement du formulaire

Activate : permet de dclencher des actions sur activation du formulaire

Close : permet de dclencher des actions sur fermeture du formulaire

Comment crer son formulaire simple ?

Avant toute chose, une fois votre fichier Excel ouvert, allez dans Fichier, Option et cochez Afficher l'onglet dveloppeur dans le ruban. Une fois cette option
active, placez-vous sur l'onglet dveloppeur et cliquez sur Visual Basic gauche du ruban. Une nouvelle fentre VBA s'affiche. Cliquez maintenant sur
Insertion : UserForm. La base de votre formulaire est cre qui sappelle userform1. ce stade, diverses fentres se sont affiches :

Fentre projet

Affiche tous les conteneurs de code VBA (modules, formulaires, )

Fentre code

Affiche tous les codes VBA (modules, formulaires, ), dans le cas des formulaires, affiche aussi le design de la fentre

Fentre proprit

Affiche toutes les proprits des objets slectionns (modules, formulaires, listes, )

Une boite outils est galement apparue; elle vous servira construire votre formulaire.

Vous pouvez modifier le nom de votre formulaire userform 1 dans la fentre proprit, name.

Les principaux contrles de la boite outils

Intitul : texte simple non modifiable par l'utilisateur : titre, tiquette accompagnant une zone de texte

Zone de texte : champ texte accessible en saisie

Zone de liste modifiable : permet de slectionner 1 plusieurs valeurs dans une liste prdfinie

Zone de liste : permet de slectionner 1 plusieurs valeurs dans une liste prdfinie

Case cocher : permet de slectionner 0 ou plusieurs options parmi celles proposes

Bouton d'option : permet de slectionner une option parmi plusieurs proposes

Bouton bascule : bouton prenant deux tats : appuy ou relch

Cadre : contient d'autres contrles

Bouton de commande : permet d'excuter une action en cliquant dessus (ouvrir un formulaire, calculer, etc.)

Contrle d'onglet : permet de dfinir diffrents onglets contenant des informations diffrentes

Image : permet d'insrer une image dans le formulaire

Les Assistants : uniquement pour certains contrles simples (boutons, options, etc.)

Slectionnez un contrle de la boite outils afin de dterminer la forme et, en restant appuy dessus, faites le glisser dans userform1.

Tapez vos donnes l'intrieur et nommez le dans la fentre proprits.

Recommencez autant de fois que ncessaire.


Cration

Access et Excel permettent lutilisation de formulaires, en plus de leurs bases de donnes et feuilles de calcul.

Pour crer un userform dans Excel, il faut passer en vision du code : ALT + F11. Ensuite dans l'arborescence gauche, le
clic droit permet la cration de trois type d'objets : feuille, userform et module.

Si les modules ne peuvent contenir que du Visual Basic, les feuilles et userform peuvent en comporter galement.

Pour qu'un userform se lance automatiquement au dmarrage, ajouter le code suivant dans une feuille :

Sub workbook_open () Il suffit de faire glisser les objets de la


MonFormulaire1 .Show vbModeless
End Sub boite outils pour remplir un
formulaire vierge
On dsigne donc le formulaire par son nom (MonFormulaire1 ci-dessus). Mais dans le code du formulaire, on peut
utiliser Me la place.
Supprimer la mention vbModeless ci-dessus entraine l'impossibilit d'ouvrir d'autres fichiers Excel pendant lutilisation du formulaire.

Le code suivant initialise le userform qui le contient, en effet le nom de cette fonction est connu et la lance automatiquement au lancement :

Sub UserForm_Initialize ()
Excel.Application .Visible = False ' on peut masquer les feuilles de calculs
WindowState = Excel.XlWindowState .xlMinimized ' ou bien les minimiser
Me.Width = Application .Width ' ou encore recouvrir toute leur largeur
Me.Height = 590 ' dfinition de la hauteur en pixel

Me.StartUpPosition = 0 ' position du userform


Me.Top = 0
Me.Left = Application .Left + Application .Width - Me.Width ' le plus droite possible
End Sub

Ensuite, en mode cration la boite outil permet d'ajouter des objets dans le userform (boutons, champs...). Nommer ces objets dans leur proprit permet de le
appeler ensuite :

MonFormulaire1 .MonChamp1 = "Hello the world !"

Les principaux contrles et leurs proprits


Frame

Cadre permettant de subdiviser le formulaire en plusieurs sous-parties.

Button

Name
Backcolor
Enabled
Location
Size
TabIndex
TabStop
Tag
Text
Textalign
Visible

Label

Intitul.

LinkLabel

Hyperlien.

TextBox

Champ pouvant tre complt par l'utilisateur.

CheckBox

Case cocher pour questionnaire choix multiple.


OptionButton

Le bouton d'option (ou bouton radio) permet de ne choisir qu'une seule rponse dans une liste.

Pour dfinir le groupe de boutons dans lequel une seule case pourra tre coche (gale True), il faut prciser son nom dans la proprit GroupName de chaque
bouton.

ListBox

Menu droulant. La diffrence avec ComboBox est qu'elle nest pas modifiable.

Image

PictureBox

Ligne - Line

Forme gomtrique - Shape

Explorateur de disques

Explorateur de dossiers

Explorateur de fichiers

Une fois tous les objets placs leurs emplacements dfinitifs dans le formulaire, il faut ordonner leur paramtre Tab_Index (en commenant 0) pour que
l'utilisateur puisse les parcourir normalement en appuyant sur TAB.

Exemple de code associ un contrle


Pour commencer associer du code un contrle, il est pratique de double cliquer dessus car cela cre automatiquement l'en-tte de la fonction.

Celle ci-dessous affiche un bouton quand on coche une case, et le masque quand on la dcoche :

Sub MaCasaCoche_Click ()
If Me.MaCasaCoche = True Then
Me.MonBoutonCache .Visible = True
Else
Me.MonBoutonCache .Visible = False
End If
End Sub

Inventaire des composantes d'un formulaire


Pour lister tous les objets que contient un formulaire :

Dim ctrl As MSForms .Control


For Each ctrl In Me.Controls
MsgBox ctrl.Name
Next

Compiler un excutable
Pour crer une application .exe standard avec Visual Basic, il faut rer un nouveau projet ActiveX EXE.

Les applications MDI permettent lutilisation de sous-fentres, par opposition aux SDI (une seule fentre) aux TDI (plusieurs onglets).

Rfrences
1. http://www.ilahas.com/sirpabs/Computing/Microsoft%20Office%20Excel%20Programming%20Weekend%20Crash%20Course%20%282003%29.pdf

http://www.fontstuff.com/vba/vbatut09b.htm
ftp://ftp-developpez.com/silkyroad/VBA/UserForm/UserForm.pdf

Annexes
Bibliographie

Amelot M., 2011, VBA Excel 2010, ENI, St Herblain


Premium Consultants, 2010, VBA pour excel 2010 , Micro Application, Paris
Jensen O.G., 2003, Initiation la programmation VBA Word, KNOWWARE, Ecuelles
Greg Harvey, 2013, Excel 2013 et VBA pour le nuls, Editions Gnrales First
Henri Laugi , 2003, VBA Excel : entrainez vous crer des applications professionnelles , Microsoft
Mikael Bidault, 2013, Excel vba developpez des macros compatibles avec toutes les versions d excel , Pearson education

Liens internes

Formulaire simple : exercice simple sur boutons de formulaire


Leon VISUAL BASIC
Leon Tableur EXCEL
Les formulaires VBA

Liens externes

Utiliser les formulaires VBA


Utiliser les contrles dans les formulaires VBA
ActiveX
Interfaces VBA
un formulaire personnalis
Visual Basic .NET/Contrles sur Wikilivres

Rcupre de https://fr.wikiversity.org/w/index.php?title=Macros-commandes_VBA/Cration_de_Formulaire&oldid=667908

Catgories : Chapitres de niveau 14 Macros-commandes VBA

Cette page a t modifie pour la dernire fois le 18 juillet 2017 08:26.


Les textes sont disponibles sous licence Creative Commons Attribution-partage dans les mmes conditions ; dautres conditions peuvent sappliquer.
Voyez les conditions dutilisation pour plus de dtails.