Vous êtes sur la page 1sur 10

20/06/2017 CrerunformulairepersonnalispoursaisirdesdonnessurExcel

Accueil Les bases Intermdiaire VBA pour Excel Infos Blog A propos Contact

LES FONCTIONS Trier alatoirement une liste

You Are Here: Home VBA Pour Excel Exemples De Codes Crer Un Formulaire Personnalis Pour
Saisir Des Donnes Sur Excel

Crer un formulaire personnalis pour saisir des donnes sur Excel 1,524 0 0
Followers Fans Followers
Posted By : Lydia Posted Date : 17 Octobre 2013 In Exemples De Codes

330 Comments

Avec Excel, il est possible dutiliser un formulaire de saisie disponible par dfaut. Cependant, il reste

quelque peu basique et ne vous permet pas, par exemple, dutiliser des listes droulantes. Subscribers

Nous allons donc, dans ce tutoriel, crer un formulaire de saisie personnalis avec Excel tant au
niveau de la saisie des donnes que de la prsentation.

Pour ce tutoriel, nous utiliserons un chier Excel que vous retrouverez dans lEspace membres du blog NEWSLETTER
Votre Assistante.

Abonnezvousauxnouveautset
Crer un formulaire personnalis pour saisir des donnes sur Exc ducontenuexclusifnewsletter.

emailaddress

C'estparti!

RECHERCHER

Search

AllContent
Utilisation dun formulaire de saisie Excel de base:
Search
Pour acher le formulaire, nous avons besoin dun bouton qui, dans la version 2013, napparat pas
par dfaut. Pour le faire apparatre, allez dans longlet Fichier > Options > Personnaliser le ruban.
Dans la partie droite, slectionnez lun de vos onglets et cliquez sur le bouton Nouveau groupe, puis,
dans la partie gauche, dans le menu droulant, choisissez Toutes les commandes et recherchez
Formulaires, cliquez sur Ajouter >>. VIDOS YOUTUBE
Si, par la suite, vous souhaitez supprimer ce bouton, il sura de vous placer sur ce nouveau groupe (
droite) et de cliquer sur << Supprimer. Vous pouvez le renommer si vous le dsirez.

Protez-en pour cocher longlet Dveloppeur sil est dcoch (et que vous souhaitez crer un
formulaire personnalis). Cliquez sur Ok. Les Segments dans les tabl

BON PLAN
Nous utilisons des cookies pour vous garantir la meilleure exprience sur notre site. Si vous continuez utiliser ce dernier, nous considrerons que vous
acceptez l'utilisation des cookies. Ok

http://www.excelplus.fr/vba/excodes/creerformulairepersonnalise/ 1/10
20/06/2017 CrerunformulairepersonnalispoursaisirdesdonnessurExcel

Popular Recent Comments Tags

Crer un formulaire personnalis


pour saisir des donnes sur Excel

17octobre2013

Dsactiver un mot de passe sur une feuille


Excel
Dsormais, dans longlet que vous avez slectionn pour votre nouveau bouton, vous avez une
26aot2012
nouvelle icne:

SOMME.SI.ENS : la fonction tant


attendue

17mai2013

Pour utiliser le formulaire classique, cliquez dessus. Attention, si vous cliquez dessus mais quaucune
donne nexiste dans votre chier, le formulaire napparatra pas. Crer un agenda automatique
Kalligo.com
Vous avez tous vos champs qui ont t repris avec leurs donnes. droite, vous avez:
17septembre2013
Le nombre de ches et votre position;
Nouvelle: vous ajouterez un nouvel enregistrement; Concours : le 100me article
Supprimer: vous supprimerez la che en cours;
17avril2013
Restaurer: vous restaurerez les modications eectues sur un enregistrement;
Prcdente: vous vous dplacerez vers la che prcdente;
Suivante: vous vous dplacerez vers la che suivante ;
Critres: vous permettra de faire une recherche. Saisissez votre lment rechercher dans le
champ correspondant et appuyez sur Entre. Cliquez sur Grille pour rebasculer en mode normal si DCOUVREZ NEMESIS
vous navez fait aucune recherche;
Fermer (ou la croix rouge
Un livre dcouvrir !

): vous fermerez le formulaire.


noter que le bouton cr ne servira que pour le formulaire de base. Si vous crez un formulaire
personnalis et cliquez sur ce bouton, cest le formulaire de base qui apparatra.

Cration dun formulaire de saisie Excel personnalis:

Pour crer ce formulaire, nous allons utiliser du code VBA. Rendez-vous dans longlet Dveloppeur >
Visual Basic

Cliquez sur Insertion > UserForm pour obtenir un UserForm vierge:

Nous utilisons des cookies pour vous garantir la meilleure exprience sur notre site. Si vous continuez utiliser ce dernier, nous considrerons que vous
acceptez l'utilisation des cookies. Ok

http://www.excelplus.fr/vba/excodes/creerformulairepersonnalise/ 2/10
20/06/2017 CrerunformulairepersonnalispoursaisirdesdonnessurExcel

Pour commencer, nous allons insrer des zones de textes, listes droulantes et boutons. Agrandissez
le formulaire en utilisant les poignes situes tout autour.

Si la Bote outils nest pas visible, allez dans le menu Achage > Bote outils.

Dans cette bote, cliquez sur Zone de liste modiable

et cliquez sur lUserForm sur la partie gauche pour crer votre premire ComboBox qui sera la liste
droulante du Code client, puis, crez-en une autre pour la Civilit vers la droite.

Cliquez ensuite sur Zone de texte

et crez-en 7 sous la ComboBox2, ce seront des TextBox.

Pour donner un nom ces cases, utilisez licne Intitul

et placez-en un devant chaque ComboBox et TextBox.

Dans lordre, en partant de la premire ComboBox vers la septime TextBox, vous devez avoir les
libells suivants:

Code client
Civilit
Prnom
Nom
Adresse
Code Postal
Ville
Tlphone
E-mail
Ces libells correspondent aux en-ttes de colonnes de notre chier Excel et ne servent qu vous
indiquer le nom de la zone.

Enn, crez 3 boutons au bas de lUserForm avec licne Bouton de commande

. Modiez chacun de leurs noms soit en cliquant dessus (pas de double-clic sinon vous passerez en
mode Code), soit en faisant un clic droit>Proprits

et en modiant le nom la ligne Caption.

Pour CommandButton1, indiquez Nouveau contact, puis, pour le deuxime, Modier et, pour le dernier,
Quitter. Ne renommez pas les ComboBox, TextBox et CommandButton, dans les Proprits, la ligne
Name, ou alors vous devrez indiquer vos propres noms dans le code VBA pour que cela fonctionne.

Pour renommer UserForm1 qui sera le nom de la bote de dialogue du formulaire, cliquez sur le
formulaire et, la ligne Caption, des Proprits, saisissez Saisie des coordonnes clients ou le nom de
votre choix.

Pour modier la couleur de fond du formulaire, cliquez sur la che

qui apparat lorsque vous cliquez sur la ligne BackColor. Cliquez sur longlet Palette pour avoir plus de
choix et choisissez une couleur. Slectionnez ensuite les intituls, modiez leur couleur dcriture sur
la ligne ForeColor et leur police la ligne Font en cliquant sur
Nous utilisons des cookies pour vous garantir la meilleure exprience sur notre site. Si vous continuez utiliser ce dernier, nous considrerons que vous
acceptez l'utilisation des cookies. Ok
et indiquez la mme couleur que pour le formulaire la ligne BackColor pour viter davoir des cadres.

http://www.excelplus.fr/vba/excodes/creerformulairepersonnalise/ 3/10
20/06/2017 CrerunformulairepersonnalispoursaisirdesdonnessurExcel

Indiquez la mme police aux 3 boutons de commande en les slectionnant.

Replacez tous les lments du formulaire si besoin en les dplaant et en les agrandissant grce aux
poignes. Noubliez pas dlargir les TextBox, notamment des champs Adresse et E-mail, sinon il y aura
un risque que lensemble des donnes napparaisse pas.

Vous pouvez dj voir le rsultat en cliquant sur le formulaire, puis, sur la touche F5. Cependant,
comme vous pouvez le constater, rien ne fonctionne puisque rien nest en lien et nous devons le faire
avec du VBA. Retournez en Mode cration en fermant le formulaire. Passez en mode VBA en double-
cliquant sur le formulaire et remplacez ce qui est saisi par dfaut par:

Option Explicit

Dim Ws As Worksheet

Pour le formulaire

Private Sub UserForm_Initialize()

Dim J As Long

Dim I As Integer

ComboBox2.ColumnCount = 1 Pour la liste droulante Civilit

ComboBox2.List() = Array(, M., Mme, Mlle)

Set Ws = Sheets(Clients) Correspond au nom de votre onglet dans le chier Excel

With Me.ComboBox1

For J = 2 To Ws.Range(A & Rows.Count).End(xlUp).Row

.AddItem Ws.Range(A & J)

Next J

End With

For I = 1 To 7

Me.Controls(TextBox & I).Visible = True

Next I

End Sub

Les textes apparaissant en vert sont des commentaires qui ne sont pas pris en compte dans le code
car ils sont prcds dune apostrophe et ne sont prsents qu titre informatif.

La ComboBox2 contiendra, dans une liste droulante, les lments M., Mme ou Mlle.

Si votre onglet se nomme autrement que Clients, noubliez pas de modier le nom dans le code.

Pour la liste droulante Code client, saisissez la suite:

Pour la liste droulante Code client

Private Sub ComboBox1_Change()

Dim Ligne As Long

Dim I As Integer

If Me.ComboBox1.ListIndex = -1 Then Exit Sub

Ligne = Me.ComboBox1.ListIndex + 2

ComboBox2 = Ws.Cells(Ligne, B)

For I = 1 To 7

Me.Controls(TextBox & I) = Ws.Cells(Ligne, I + 2)

Next I

End Sub

Pour le bouton Nouveau contact, saisissez la suite:

Pour le bouton Nouveau contact

Private Sub CommandButton1_Click()

Nous
Dim utilisons
L As Integerdes cookies pour vous garantir la meilleure exprience sur notre site. Si vous continuez utiliser ce dernier, nous considrerons que vous
acceptez l'utilisation des cookies. Ok

http://www.excelplus.fr/vba/excodes/creerformulairepersonnalise/ 4/10
20/06/2017 CrerunformulairepersonnalispoursaisirdesdonnessurExcel
If MsgBox( Conrmez-vous linsertion de ce nouveau contact ? , vbYesNo, Demande de
conrmation dajout) = vbYes Then

L = Sheets(Clients).Range(a65536).End(xlUp).Row + 1 Pour placer le nouvel enregistrement


la premire ligne de tableau non vide

Range(A & L).Value = ComboBox1

Range(B & L).Value = ComboBox2

Range(C & L).Value = TextBox1

Range(D & L).Value = TextBox2

Range(E & L).Value = TextBox3

Range(F & L).Value = TextBox4

Range(G & L).Value = TextBox5

Range(H & L).Value = TextBox6

Range(I & L).Value = TextBox7

End If

End Sub

La phrase Conrmez-vous linsertion de ce nouveau contact? indique la question qui sera pose lors du
clic sur le bouton Nouveau contact et Demande de conrmation dajout au titre de la bote de dialogue.

Pour le bouton Modier, saisissez la suite:

Pour le bouton Modier

Private Sub CommandButton2_Click()

Dim Ligne As Long

Dim I As Integer

If MsgBox(Conrmez-vous la modication de ce contact ?, vbYesNo, Demande de conrmation


de modication) = vbYes Then

If Me.ComboBox1.ListIndex = -1 Then Exit Sub

Ligne = Me.ComboBox1.ListIndex + 2

Ws.Cells(Ligne, B) = ComboBox2

For I = 1 To 7

If Me.Controls(TextBox & I).Visible = True Then

Ws.Cells(Ligne, I + 2) = Me.Controls(TextBox & I)

End If

Next I

End If

End Sub

La phrase Conrmez-vous la modication de ce contact ? indique la question qui sera pose lors du clic
sur le bouton Modier et Demande de conrmation de modication au titre de la bote de dialogue.

Enn, pour le bouton Quitter, saisissez la suite:

Pour le bouton Quitter

Private Sub CommandButton3_Click()

Unload Me

End Sub

Attention, si vous avez plus ou moins de 7 TextBox noubliez pas de modier le chire 7 aux lignes For I
= 1 To 7 dans les parties Formulaire, Code client et Bouton modier et rajouter une ligne la suite de
Range(I & L).Value = TextBox7 dans la partie Nouveau contact.

Dsormais, vous pouvez appuyer sur F5 pour tester le formulaire.

Nous utilisons des cookies pour vous garantir la meilleure exprience sur notre site. Si vous continuez utiliser ce dernier, nous considrerons que vous
acceptez l'utilisation des cookies. Ok

http://www.excelplus.fr/vba/excodes/creerformulairepersonnalise/ 5/10
20/06/2017 CrerunformulairepersonnalispoursaisirdesdonnessurExcel

Il se peut quen utilisant la touche (tabulation), votre curseur ne se dplace pas comme vous le
souhaitiez, notamment si vous ne crez pas vos Contrles dans lordre. Pour remdier ce problme,
cliquez droit sur votre formulaire en Mode cration et cliquez sur Ordre de tabulation, galement
accessible dans le menu Achage.

Vous navez plus qu monter et descende les lments pour les mettre dans lordre dsir et cliquer
sur Ok sachant que lemplacement des Labels na pas dimportance:

Si vous avez besoin de modier le formulaire, retournez dans Visual Basic

. Dans lExplorateur de projet, en cliquant droit sur lUserForm1, vous pourrez basculer entre Code et
Acher lobjet:

Pour terminer, nous allons crer une macro pour lancer ce formulaire et nous viter de devoir
retourner dans Visual Basic chaque fois que nous en aurons besoin. Dans longlet Dveloppeur,
cliquez sur Macros

. Donner un nom celle-ci comme Lancer_formulaire et cliquez sur Crer. Entre les deux lignes
prsentes dans Visual Basic, saisissez UserForm1.Show vbModeless. Fermez la fentre, recliquez sur
Macros
Nous utilisons des cookies pour vous garantir la meilleure exprience sur notre site. Si vous continuez utiliser ce dernier, nous considrerons que vous
acceptez l'utilisation des cookies. Ok

http://www.excelplus.fr/vba/excodes/creerformulairepersonnalise/ 6/10
20/06/2017 CrerunformulairepersonnalispoursaisirdesdonnessurExcel

, choisissez la macro cre, cliquez sur Options et choisissez votre raccourci. Selon la lettre choisie, le
raccourci comportera la touche Shift ou non pour ne pas remplacer un raccourci existant:

Cliquez sur Ok, fermez la bote de dialogue et, pour lancer votre formulaire, vous naurez plus qu
utiliser le raccourci cr.

Enn, noubliez pas denregistrer votre chier dans un format prenant en compte les macros en allant
dans le menu Fichier > Enregistrer sous. Choisissez un emplacement et le type Classeur Excel (prenant
en charge les macros).

Si vous ne souhaitez pas avoir la notication suivante louverture du chier:

Vous pouvez la dsactiver en allant dans le menu Fichier > Options > Centre de gestion de la
condentialit > Paramtres du Centre de gestion de la condentialit > Paramtres des
macros > Activer toutes les macros.

Cependant, ceci nest pas recommand.

Vous avez dsormais le choix entre saisir les donnes de manire classique dans la feuille de
calculs, les saisir dans le formulaire de saisie de base ou les saisir dans votre nouveau
formulaire personnalis.

Larticle est tlchargeable ici.

EDIT : LE CODE POSANT DES SOUCIS DANS SA RETRANSCRIPTION SUR CET ARTICLE EST DISPONIBLE
EN FORMAT .TXT EN TLCHARGEMENT ICI

Nous utilisons des cookies pour vous garantir la meilleure exprience sur notre site. Si vous continuez utiliser ce dernier, nous considrerons que vous
Pour plus dlments sur la comprhension du code, Lydia a ralis un trs bon article que je
acceptez
vous conseille daller lire pour rsoudre les soucis ventuels l'utilisation des: cookies.
de transcription
Ok
a se passe ici !

http://www.excelplus.fr/vba/excodes/creerformulairepersonnalise/ 7/10
20/06/2017 CrerunformulairepersonnalispoursaisirdesdonnessurExcel

Donnes Formulaire Invit VBA


Tags

Jaime 38 5 Tweet Share


StumbleUpon

Crer un agenda automatique


Kalligo.com
Utiliser les ltres chronologiques

AboutLydia

Lydia Provin est l'auteure de Votre Assistante - Le Blog o elle publie des tutoriels
textes et vidos sur les logiciels Word, Excel, Access, PowerPoint, Photoshop et
Illustrator.

Related posts
Crer un fichier fermeture Dsactiver un mot de passe sur une ...
programme ...
26aot2012
17novembre2012

Crer un fichier log sur lutilisation dun ... Crer une fonction dans VBA

24aot2012 6aot2012

330 Comments

wajdi
19 mai 2017 at 0 h 58 min

Bonsoir,

Cest intressent

Vous pouvez ajouter un bouton la place de faire ctrl+shift et vous lappelez affiche formulaire.

Cordialement
WAJDI

Rpondre

Laetitia
16 mai 2017 at 17 h 59 min

Bonjour,
Je narrive pas a saisir le code
If MsgBox( Confirmez-vous linsertion de ce nouveau contact ? , vbYesNo, Demande de confirmation dajout ) =
vbYes Then
Toute la ligne est rouge et un message derreur apparat Erreur de compilation Attendu : sparateur ou )
Comment faire pour corriger lerreur?

Rpondre

Nous utilisons des cookies pour vous garantir la meilleure exprience sur notre site. Si vous continuez utiliser ce dernier, nous considrerons que vous
Rouzee Christele
3 mai 2017 at 16 h 45 min acceptez l'utilisation des cookies. Ok

http://www.excelplus.fr/vba/excodes/creerformulairepersonnalise/ 8/10
20/06/2017 CrerunformulairepersonnalispoursaisirdesdonnessurExcel

Bonjour,
Jai suivi instruction pas pas une erreur cest produit la fin.

message : erreur de compilation


attendu : fin instruction

Pouvez vous maider je travaille sur Excel 2016.


Merci
Bien cordialement

Rpondre

Sgnon
2 mai 2017 at 9 h 10 min

vous tes excel@lente (excellente)

Rpondre

slam
21 avril 2017 at 14 h 10 min

merci pour le tuto

Rpondre

Benot
15 avril 2017 at 14 h 01 min

Lydia Flicitation !!

Rpondre

Benot
15 avril 2017 at 13 h 59 min

Merci pour votre tutoriel

Rpondre

Williamvag
2 mars 2017 at 10 h 15 min

lasix water pill ck

Rpondre

BESOMBES
8 fvrier 2017 at 10 h 59 min

Bonjour

ma liste droulante nempche pas un utilisateur saisir une autre valeur !!!

quelle erreur ai je faite ?

merci

Rpondre

Nous utilisons des cookies pour vous garantir la meilleure exprience sur notre site. Si vous continuez utiliser ce dernier, nous considrerons que vous
acceptez l'utilisation des cookies. Ok
sneakerhead

http://www.excelplus.fr/vba/excodes/creerformulairepersonnalise/ 9/10
20/06/2017 CrerunformulairepersonnalispoursaisirdesdonnessurExcel
2 janvier 2017 at 9 h 22 min

Mon commetaire ci-dessus saddressait Popov Robert Pierrepont1 pas Lasbadias 24.

Rpondre

Older Comments

LeaveAComment

Name*

Email*

Website

Submit Comment

LIENS INFORMATIONS FACEBOOK NETVIBES & PEARLTREES

Apprentissage Virtuel Contact


A Propos
ExcelplusL
843mentionsJaime
Cathy Astuces Newsletter
Plan De Site
Excel Downloads
JaimecettePage
Geek Me Five
Soyezlepremierdevosamis
Le Blog De Constantin aimera.

Les Communauts Microsoft

Mediaforma

Portail De La Scurit Informatique

Protuts

Top Assistante

Copyright 2013, All Rights Reserved. | Powered by WordPress | Designed by bdayh


Nous utilisons des cookies pour vous garantir la meilleure exprience sur notre site. Si vous continuez utiliser ce dernier, nous considrerons que vous
acceptez l'utilisation des cookies. Ok

http://www.excelplus.fr/vba/excodes/creerformulairepersonnalise/ 10/10