Ce convertisseur sert à convertir Puce en cm et Pixel en cm et vis-versa . Ce convertisseur est conçu sur la base du langage VBA (Visual Basic ) sous Excel .
2. Introduction
Ce convertisseur sert à convertir le puce en cm et les pixels en cm et
vis-versa . Ce convertisseur est conçu sur la base du langage VBA (Visual
Basic ) sous Excel .
3. Revenons au programme proprement dit
En lançant le programme à partir du bureau, on obtient le traitement
de la feuille 1 d'Excel .
4. Appuyons sur le bouton
jaune pour accéder au
convertisseur
Affichage en plein écran
5. On obtient donc le formulaire suivant (userform)
Soit un
exemple
6. - 1ère opération
On veut convertir 20 pouces en cm. On doit
appuyer sur le bouton « Pouce/Cm », on
obtient 20 pouces=50,92 cm .
Même chose pour Cm/Pouce
- 2ème opération
On veut convertir 100 pouces en cm
On doit appuyer sur le bouton « Pixel/Cm »,
on obtient 100 pixels=2,646 cm
Même chose pour Pixel/Cm
Pour faire une autre opération, on appuie
sur le bouton « Une autre opération »
Pour quitter l’application, on appuie
sur le bouton « Quitter l’application »
7. Pour mettre en œuvre ce convertisseur, il convient
de réaliser deux étapes importantes :
• La conception du formulaire (Userform en anglais)
dans l'éditeur de macro.
• La conception du programme VBA (visual basic)
8. D’abord , il faut d’abord lancer l’Excel puis sélectionner:
1. Développeur
2. Visual Basic
3. Affichage
4. Explorateur de projets et
fenêtre de propriétés .
1- La conception de l’userform
9. On commence par la création du formulaire (Userform)
Ajouter l’userform:
Le formulaire apparait Boite à outils apparait
automatique , sinon on
appuie sur Menu Affichage /
Boîte à outils.
L’ userForm sert à créer des boîtes de dialogue
personnalisées. Il permet de réaliser des
interfaces utilisateurs simples pour la saisie
Nous sommes dans l’éditeur de macro
10. Le formulaire: userform
Boite à outils contient un certain
nombre de contrôles .
Le userform1 apparait dans la
fenêtre « Explorateur de projets »
11. Les contrôles standards :
Label (Intitulé)
CheckBox (case à cocher)
OptionButton (Bouton option)
CommandButton (Bouton de commande )
TextBox (Zone de texte)
ComboBox (Zone de liste modifiable)
ListBox (Zone de liste )
ScrollBar (Barre de défilement)
SpinButton (Toupie)
MultiPage (Multiplage)
Image (Image)
Frame (Cadre)
RefEdit (RefEdit)
NB: Il est plus pratique d’utiliser les termes en anglais car le langage VBA est aussi en anglais
Label
CommandButton
TextBox
Frame
Image
ComboBox
ListBox
ScrollBar
SpinButton
MultiPage
12. On peut attribuer un nom précis à
l’userform . Il suffit , dans la
fenêtre « Propriété », écrire dans
la proprité champ « Caption »
Formulaire01
Caption spécifie le texte affiché
dans la barre de titre. D’une
manière générale , la propriété
caption permet à l’utilisateur de
modifier le titre du formulaire,
des boutons, des labels etc.
13. Le userform de notre cas doit avoir cette forme. Passant maintenant à sa conception.
14. Agrandissant le formulaire en le glissant la souris vers le bas et à droite le sommet de l’angle B
A partir de B , il est possible d’agrandir
l’userform à l’aide de la souris
15. Il est possible de changer la couleur de l’userform :
Fenêtre de propriété ---- Backcolor –palette (Orange)
Couleur orange de
l’userform
16. Le textBox est le champ où on saisit les donnée
alphanumériques ,
Pour qu'il apparaisse, on appuie sur le contrôle
TextBox
On peut ajuster ses dimensions selon le cas .
Te terme « TextBox » apparait dans
la fenêtre des propriétés.
Il est possible de le modifier , il
suffit de pointer le curseur sur lui
champ.
17. Dans label1 (intitulé) , on saisie un nom qui qualifie le textBox1: ici on a écrit
« Saisir un nom au dessus ». On peut changer le style, la taille et la police .Pour
se faire, dans la « fenêtre de propriété » , allez à « Font » .
TextBox1Label1
18. On ajoute aussi sur le userform, le contrôle « Bouton » pour exécuter le programme. On
va renommer le bouton , exemple: Pouce/Cm .Dans « Caption » on écrit « Pouce/Cm »
1
2
19. Pour mettre le titre « Convertisseur » dans le « Cadre »
Pour choisir la couleur bleue (ForColor) et
police 12 (Font)
20. On continue à mettre des informations (Pouce en Cm/Cm en Pouce , Cm en Pixel/ Pixel en Cm)
à l’intérieur du cadre.
Label1 --- Caption ( Pouce en Cm/Cm en Pouce )--- Caption ( Label2---Caption = Cm en Pixel/ Pixel en Cm)
Couleur: ForeColor
Le choix de la couleur bleue
Maintenant vous serez capable de réaliser aisément tout l’userform.
21. Après avoir terminer la réalisation complète de l’userform sous la forme suivante,
il faut le sauvegarder sous fichier Excel « XLSM » et en prenant en charge la « MACRO »
22. Récapitulatif
Nous avons
• 4 TextBox
7 Boutons
7 Labels
1 Cadre dans lequel il y a 2 autres labels.
Boutons Boutons
TextBox TextBox
Cadre
Labels Labels
23. Passons à la 2ème étape, le programme VBA lui même .
Principe de fonctionnement
Ce programme est constitué de 7 subroutines (Procédures):
1ère subroutine
Conversion Pouce en Cm
2ème subroutine
Conversion Cm en Pouce
3ème subroutine
Convertir Pixel en cm
4ème subroutine
Convertir cm en Pixel
5ème subroutine
Une autre opération: remise à zéro
6ème subroutine
Une autre opération: une Remise à zéro
7ème subroutine
Quitter userform
EN PLUS
Une autre subroutine pour
accéder directement à l'userform.
Subroutine « Affichage en plein
écran » dès l'accès au fichier.
2- Réalisation du programme VBA (Visual Basic)
24. Durant la réalisation du programme proprement dit , il est utile de rappeler que qu’il est
nécessaire de faire un va-et-vient permanant entre l’userform et l’éditeur de des macros
(programmes ou procédures) .
Appuyez sur Pouce/Cm , c’est le
CommandButton6
25. '1ère subroutine
'***************
'Conversion Pouce en Cm, agir sur le bouton CommandButton6
Private Sub CommandButton6_Click()
Pouce = TextBox3 'Là où on saisit les nombres
If Not IsNumeric(TextBox3.Text) Then
MsgBox " SVP, Saisissez un nombre ", vbOnly + vbInformation, "Input Error"
'vbOnly " ok ", vbInformation :un signal sonore
Exit Sub
Else
If pouce <> "" Then
cm = pouce * 2.546
TextBox4 = cm
Else
End If
End If
End Sub
On va expliquer uniquement la 1ère subroutine ou (procédure) car la 2ème, la
3ème et la 4ème sont similaires à la 1ère.
26. La procédure commence par
l'instruction Private Sub et se
terminent par l'instruction End
Sub. Le code VBA doit être écrit
entre Sub et End Sub. Les
parenthèses sont obligatoires .
On saisie le nombre en Pouce
dans TextBox3
SI la valeur entre parenthèses (le
nombre saisi) n’est pas numérique
(donc si condition vraie) alors
on exécute les instructions
placées après THEN:
« SVP, Saisissez un nombre » apparait
dans la boite de dialogue de MsgBox
avec un signal sonore .
VbOnly = boite de dialgue avec OK et
vbInformation = signal sonore
« Input Error » message apparait dans le
titre de la boite de dialogue.
ExitSub fin de la procédure
Else (si la valeur entre parenthèses
est un nombre) on continue la
procédure .
'Conversion Pouce en Cm, agir sur le bouton
CommandButton6
Private Sub CommandButton6_Click()
Pouce = TextBox3 'Là où on saisit les nombres
If Not IsNumeric(TextBox3.Text) Then
MsgBox " SVP, Saisissez un nombre ", vbOnly +
vbInformation, "Input Error"
'vbOnly " ok ", vbInformation :un signal sonore
Exit Sub
Else
If pouce <> "" Then
cm = pouce * 2.546
TextBox4 = cm
Else
End If
End If
End Sub
Une 2ème condition (If……Then) : si un nombre
est saisi , on procède à la conversion du pouce
en cm et on place le résultat dans TexteBox4. si
rien n’a été saisi . C’est la fin du programme End
Sub
27. Saisie d’une chaine de
caractères (string) et non un
nombre (integer) dans TextBox3
Une boite dialogue précisant qu’il y a
erreur de saisie
Erreurs de saisie
Si aucun nombre est saisi
dans le Textbox 3 ou
TextBox1 et on appuie sur
le bouton Pouce /cm ou
Cm/Pouce et aussi Pixel/Cm
ou Cm/Pixel , la boite de
dialogue nous demande
de saisir un nombre. Avec
« Input error » dans le titre
de la boite de dialogue.
TextBox1TextBox3
28. '5ème subroutine
'***************
' "Une autre opération= Bouton CommandButton4 " qui est une Remise à zéro
Private Sub CommandButton4_Click()
TextBox3 = ""
TextBox4 = ""
TextBox3.SetFocus 'Positionnement du curseur dans TextBox3
End Sub
'6ème subroutine
'***************
'"Une autre opération= Bouton CommandButton5 " qui aussi une Remise à zéro
Private Sub CommandButton5_Click()
TextBox1 = ""
TextBox2 = ""
TextBox1.SetFocus 'Positionnement du curseur dans TextBox1
End Sub
'7ème subroutine
'***************
' Quitter l'userform
Private Sub CommandButton3_Click()
Unload Me 'Me = userform
End Sub
La 5ème subroutine et 6ème
subroutine sont des procédures
« de remise à zéro ».
Sur le userform il y a deux boutons
de remise à zéro appelés « Une
autre opération » En termes de
VBA, ces boutons sont
CommandButton4 et CommandButton5
Prenons le cas de la 5ème subroutine.
En appuyant sur CommandButton4
TextBox3 s et TextBox4 se vident grâce à
la présence de la chaîne ""
Ensuite, le curseur est positionné dans
TextBox3 automatiquement grâce à la
propriété SetFocus
Pour quitter l’userform , on appuie sur le
bouton « Quitter l’application » , en vba
c’est le CommandButton3 qui est validé .
Unload Me signifie quitter l’userform .
29. Une autre subroutine pour accéder directement à l'userform , située dans
l'éditeur de Code de Feuil1.
Private Sub cmdaccès_Click()
UserForm1.Show
End Sub
Appuyez sur ce bouton
dans la feuille 1 pour
accéder directement à
l’userform
l'éditeur de Code de
Feuil1
30. Pour le bouton «Appuyer pour accéder à l’userform »
D’abord exécuter l’userform
Puis dans la barre de menu , sélectionnez « Développeur »
Activez « Le mode de création »
Appuyez sur « Insérer des contrôles »
on choisit le contrôle bouton
Puis on crée le bouton
« commandButton1 »
Renommer le
« commandbutton1 » en
«Appuyer pour accéder à
l’userform »
32. Une fois le commandbutton1 est renommé, on désactive le mode de création. En
appuyant sur ce bouton , appelé désormais, «Appuyer pour accéder à l’userform » ,
l’éditeur de codes apparait où on saisie le code correspondant .
On renomme « Commandbutton1 » en cmdaccès en se référant au champ « Name »
Signifie , l’userform apparait dès qu’on
appuie sur ce bouton qui se trouve dans la
feuille1.
33. Un Code pour afficher automatiquement "en plein
écran" dès l'accès à notre fichier Excel , il est dans
l’éditeur de code de ThisWorkbook.
Private Sub Workbook_Activate()
Application.DisplayFullScreen = True
End Sub
Private Sub Workbook_Deactivate()
Application.DisplayFullScreen = False
End Sub
ThisWorkbook.
l’éditeur de code de ThisWorkbook où on place le
code VBA « Affichage en plein écran »
34. Université d’Oum El Bouaghi
Faculté des sciences de la terre et de l’architecture