IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

changer les attributs d'un UserForm notamment son Name, sa police, etc..


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2012
    Messages : 320
    Points : 66
    Points
    66
    Par défaut changer les attributs d'un UserForm notamment son Name, sa police, etc..
    Bonjour,

    Comment agrandir le Name d'un UserForm ? Rendre plus gros ? changer de police ?

    Merci.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 764
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Comment agrandir le Name d'un UserForm ? Rendre plus gros ? changer de police ?
    J'avoue ne pas comprendre
    • "Comment agrandi le Name d'un UserForm". On peut modifier le nom (propriété Name) d'un UserForm et bien entendu il y a un maximum de caractères autorisé et cela on ne peut pas le modifier
    • "Rendre plus gros ?". Tu veux sans doute dire modifier sa largeur (Width), sa hauteur (Height) ?
      Oui, c'est possible

    et oui, on peut modifier la police de caractères : C'est la propriété Font du groupe Police de la fenêtre des propriétés

    Le tout est possible soit directement dans la fenêtre des propriétés (F4) soit par VBA à l'initialisation par exemple

    Petit exemple en VBA où l'on modifie les propriétés Name, Italic et Size du UserForm lorsque l'on clique dessus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub UserForm_Click()
     With Me.Label1.Font
     .Name = "Cambria"
     .Size = 15
     .Italic = True
     End With
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut
    Bonjour,

    Citation Envoyé par plasto590807 Voir le message
    Comment agrandir le Name d'un UserForm ? Rendre plus gros ? changer de police ?
    Si tu parles de la barre de titre de l'userform, on ne peut pas agir sur la police.
    Mais on peut, ne pas l'afficher, et recréer une pseudo barre de titre avec des labels.

    Par exemple : usfSansBarreDeTitre.xlsm

    Le code pour Excel 32 bits (avec 3 labels) :
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    68
    69
    70
    71
    72
    73
    74
    Option Explicit
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
    Private Sub UserForm_Initialize()
    Dim hwnd As Long
    Dim style
      ' Supprimer la barre de titre
      hwnd = FindWindow(vbNullString, Me.Caption)
      style = GetWindowLong(hwnd, -16) And Not &HC00000 'supression de la barre de titre...
      SetWindowLong hwnd, -16, style
      DrawMenuBar hwnd
      ' Recréer une pseudo-barre avec 3 labels
      With Me.lblTitreTexte       'Nom de l'userform
        .BackColor = &H80000002
        .Width = Me.Width
        .Left = 0
        .Top = 3
        .Caption = " " & Me.Name
        .Font.Name = "Tahoma"
        .Font.Size = 24
        .AutoSize = True
        .ZOrder 0
      End With
      With Me.lblTitreFond        'Couleur de fond
        .AutoSize = False
        .BackColor = &H80000002
        .Height = Me.lblTitreTexte.Height + 6
        .Width = Me.Width
        .Left = 0
        .Top = 0
        .Caption = ""
        .ZOrder 1
      End With
      With Me.lblCroix            'Croix de fermeture
        .AutoSize = False
        .BackColor = &H80000002
        .ForeColor = &H0
        .Height = Me.lblTitreTexte.Height
        .Width = .Height * 1.5
        .Left = Me.Width - Me.lblCroix.Width - 6
        .Top = Me.lblTitreTexte.Top
        .SpecialEffect = 6
        .Caption = "X"
        .Font.Name = "Tahoma"
        .Font.Size = 21
        .ZOrder 0
      End With
    End Sub
    Private Sub lblCroix_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
      With Me.lblCroix
        .BackColor = &HFF
        .ForeColor = &HFFFFFF
      End With
    End Sub
    Private Sub lblTitreFond_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
      With Me.lblCroix
        .BackColor = &H80000002
        .ForeColor = &H0
      End With
    End Sub
    Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
      With Me.lblCroix
        .BackColor = &H80000002
        .ForeColor = &H0
      End With
    End Sub
    Private Sub lblCroix_Click()
      Unload Me
    End Sub
    Private Sub CommandButton1_Click()
      Unload Me
    End Sub
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

Discussions similaires

  1. Changer les attributs d'un fichier
    Par Oni dans le forum Visual C++
    Réponses: 1
    Dernier message: 12/09/2007, 09h20
  2. Changer les attributs d'un fichier
    Par tardifj dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 24/05/2007, 06h49
  3. Impossible de changer les attributs d'un dossier
    Par NeHuS dans le forum Autres Logiciels
    Réponses: 20
    Dernier message: 03/03/2006, 09h38
  4. Changer les attributs de fichier à partir de FrontPage
    Par kernel57 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 26/01/2005, 15h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo