1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| Option Explicit
Public ctrl As String 'variable qui va servir a enregistrer le nom du control sur la quelle la souris passe
Public bouton() As New EFFET_waow 'initialisation de la classe
Public ctrls As Variant 'variable qui va servir a memoriser tout les bouton
Public maform As Object 'variable qui va servir a memoriser l'userform
Public propriétés As Variant 'variable de type tableau pour manipuler les propriete avec le tag renseigne parles propriétés
Public fois As Boolean
'****************************************************
'**Private Sub UserForm_Activate() *
'** memo Me, vbRed, True, True, vbBlack, True, True *
'**End Sub *
'****************************************************
Sub memo(uf As Object, couleurboutonsurvolé As Variant, effetloupe As Boolean, text_en_gras As Boolean, _
couleur_texte_bouton_survolé As Variant, grossissement_du_texte As Boolean, mettre_le_texte_en_majuscule As Boolean, en_italic As Boolean)
If fois = False Then
Set maform = uf 'dorénavant maform designera l'userform dans tout le classeur
Dim e As Long
'on boucle sur tout les controls dans l'userform
For Each ctrls In uf.Controls
'on teste si le type de control est un bouton
If TypeName(ctrls) = "CommandButton" Then
'on va memoriser toutes les propriétés de depart des boutons ainsi que les effet directement dans leurs tags(nouveau principe!!!!)
ctrls.Tag = ctrls.BackColor & ":" & ctrls.ForeColor & ":" & ctrls.Left & ":" & ctrls.Width & ":" & ctrls.Top & ":" & _
ctrls.Height & ":" & couleurboutonsurvolé & ":" & effetloupe & ":" & text_en_gras & ":" & couleur_texte_bouton_survolé _
& ":" & grossissement_du_texte & ":" & mettre_le_texte_en_majuscule & ":" & ctrls.Font.Size & ":" & ctrls.Caption & ":" & en_italic
e = e + 1 'on incremente la variablee
'on regroupe tout les bouton dans la classe
ReDim Preserve bouton(1 To e)
Set bouton(e).GroupeBouton = ctrls
End If
Next
fois = True
End If
End Sub
Sub remet_normal()
If ctrl <> "" Then
With maform.Controls(ctrl)
'on decoupe la chaine de caractere que constitu le tag pour separer chaques propriétés
propriétés = Split(.Tag, ":")
.BackColor = propriétés(0)
.ForeColor = propriétés(1)
.Caption = propriétés(13)
.FontBold = False
.Font.Size = propriétés(12)
.Font.Italic = False
If propriétés(7) = True Then
.Width = propriétés(3)
.Left = propriétés(2)
.Height = Val(propriétés(5))
.Top = Val(propriétés(4))
End If
End With
End If
End Sub
'fonction testant le texte de la caption si elle elle est en majuscule ou non
Public Function IsUcase(ByVal Str As String) As Boolean
IsUcase = InStr(1, UCase(Str), Str, vbBinaryCompare)
End Function |