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 |