Vous êtes sur la page 1sur 5

Formation Pratiquons Ensemble

 Développement d’applications sur mesure


 Formation
 Ventes des Livres
Whatssap : +237693126693 +237690401988 Mail :
aurelio.ewane@yahoo.fr
Gestion des Menus

Option Explicit
Option Base 1
Option Compare Text

Ces trois instructions permettent :


Pour option explicit d’obliger le programmer de déclarer toutes ses variables avant de les
utiliser
Si l'instruction Option Explicit apparaît dans un module, vous devez déclarer
explicitement toutes les variables à l'aide des instructions Dim, Private, Public, ReDim ou
Static. Si vous tentez d'utiliser un nom de variable non déclarée, une erreur se produit à la
compilation.
Si vous n'utilisez pas l'instruction Option Explicit, toutes les variables non déclarées sont
de type Variant à moins qu'un type par défaut soit précisé à un autre endroit à l'aide d'une
instruction Deftype.

Pour option Base 1 d’obliger au niveau module ou il est déclaré pour déclarer la limite
inférieure par défaut des indices d'un tableau qui sert automatiquement de 1 au lieu de 0.
La base par défaut ayant la valeur 0, l'instruction Option Base n'est jamais obligatoire. Si
elle est utilisée, l'instruction doit apparaître dans un module avant toute procédure. L'instruction
Option Base ne peut apparaître qu'une seule fois dans un module et doit précéder les
déclarations de tableau contenant des dimensions.
Cette instruction ne nous servira pas dans cette partie mais dans la suite

Pour option Compare text utilisée au niveau module pour déclarer la méthode de comparaison
par défaut qu'il convient d'utiliser lors de la comparaison de chaînes.
Si elle est utilisée, l'instruction Option Compare doit apparaître dans un module avant
toute procédure.
L'instruction Option Compare définit la méthode de comparaison de chaînes (Binary,
Text ou Database) pour un module. Si le module ne contient pas d'instruction Option Compare,
la méthode de comparaison de texte par défaut est Binary.
Si vous devez faire des comparaisons ; il est important de définir cette valeur au
debut de votre module pour ne pas avoir des désagréments

Conçu par Aurelien Essembion Ewan 1 +237 693126693 aurelio.ewane@yahoo.fr


Formation Pratiquons Ensemble
 Développement d’applications sur mesure
 Formation
 Ventes des Livres
Whatssap : +237693126693 +237690401988 Mail :
aurelio.ewane@yahoo.fr

Private Sub UserForm_Initialize()


Dim i As Integer
Me.Frame1.Visible = False
For i = 401 To 410
Me.Controls("Label" & i).Left = 0
Next i
Me.Frame1.Width = 180
End Sub

Private Sub Label100_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,


ByVal X As Single, ByVal Y As Single)
Call StyleLabel(Me, 100)
Call MouvementSouris(100, 2)
End Sub

Private Sub Label200_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,


ByVal X As Single, ByVal Y As Single)
Call StyleLabel(Me, 200)
Call MouvementSouris(200, 4)
End Sub

Private Sub Label300_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,


ByVal X As Single, ByVal Y As Single)
Call StyleLabel(Me, 300)
Call MouvementSouris(300, 6)
End Sub

Private Sub Label400_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,


ByVal X As Single, ByVal Y As Single)
Call StyleLabel(Me, 400)
Call MouvementSouris(400, 8)
End Sub
Conçu par Aurelien Essembion Ewan 2 +237 693126693 aurelio.ewane@yahoo.fr
Formation Pratiquons Ensemble
 Développement d’applications sur mesure
 Formation
 Ventes des Livres
Whatssap : +237693126693 +237690401988 Mail :
aurelio.ewane@yahoo.fr

Sub MouvementSouris(ByVal Item1 As Integer, ByVal Item2 As Integer)


'Quand la sopuris se balade sur ce label je rends visible le frame
'et je boucle sur tous ces selements

Dim Sh1 As Worksheet


Dim i As Integer
Dim k As Integer

Set Sh1 = ThisWorkbook.Sheets("Base")


Me.Frame1.Visible = True
Me.Frame1.Top = Me.Controls("Label" & Item1).Top + 18
Me.Frame1.Left = Me.Controls("Label" & Item1).Left

k=1
For i = 11 To 20
If Sh1.Cells(i, Item2).Value = "" Then
Else
Me.Controls("Label" & k).Caption = " " & Sh1.Cells(i, Item2).Value
Call IconeButton(Me, "Label", k + 400, Sh1.Cells(i, Item2 - 1).Value)
Me.Frame1.Height = Me.Controls("Label" & k).Top + 18
k=k+1
End If
Next i
Set Sh1 = Nothing
End Sub

Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,


ByVal X As Single, ByVal Y As Single)
Call StyleLabel1(Me, 1)
End Sub

Private Sub Label2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,


ByVal X As Single, ByVal Y As Single)
Call StyleLabel1(Me, 2)

Conçu par Aurelien Essembion Ewan 3 +237 693126693 aurelio.ewane@yahoo.fr


Formation Pratiquons Ensemble
 Développement d’applications sur mesure
 Formation
 Ventes des Livres
Whatssap : +237693126693 +237690401988 Mail :
aurelio.ewane@yahoo.fr
End Sub
Private Sub Label3_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,
ByVal X As Single, ByVal Y As Single)
Call StyleLabel1(Me, 3)
End Sub
Private Sub Label4_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,
ByVal X As Single, ByVal Y As Single)
Call StyleLabel1(Me, 4)
End Sub

Private Sub Label5_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,


ByVal X As Single, ByVal Y As Single)
Call StyleLabel1(Me, 5)
End Sub

Private Sub Label6_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,


ByVal X As Single, ByVal Y As Single)
Call StyleLabel1(Me, 6)
End Sub
Private Sub Label7_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,
ByVal X As Single, ByVal Y As Single)
Call StyleLabel1(Me, 7)
End Sub
Private Sub Label8_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,
ByVal X As Single, ByVal Y As Single)
Call StyleLabel1(Me, 8)
End Sub

Private Sub Label9_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,


ByVal X As Single, ByVal Y As Single)
Call StyleLabel1(Me, 9)
End Sub

Private Sub Label10_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,


ByVal X As Single, ByVal Y As Single)
Call StyleLabel1(Me, 10)
End Sub
Private Sub Label11_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,
ByVal X As Single, ByVal Y As Single)
Call StyleLabel1(Me, 11)
End Sub
Conçu par Aurelien Essembion Ewan 4 +237 693126693 aurelio.ewane@yahoo.fr
Formation Pratiquons Ensemble
 Développement d’applications sur mesure
 Formation
 Ventes des Livres
Whatssap : +237693126693 +237690401988 Mail :
aurelio.ewane@yahoo.fr
Private Sub Label12_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,
ByVal X As Single, ByVal Y As Single)
Call StyleLabel1(Me, 12)
End Sub

Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As


Integer, ByVal X As Single, ByVal Y As Single)
'Quand la sopuris se balade sur l'userform je rends inivisible le frame

Me.Frame1.Visible = False
Call ClearStyleLabel(Me)
End Sub

Conçu par Aurelien Essembion Ewan 5 +237 693126693 aurelio.ewane@yahoo.fr

Vous aimerez peut-être aussi