Modifier écriture dans des CommandBouttons

Bonjour a toutes et tous, forum



J'ai créer dynamiquement des commandbuttons par VBA qui sont positionnés dans un UserForm1 via Frame1

Je souhaiterai savoir svp comment modifier l'écriture dans les CommandBouttons SANS passer par la propriété des controls

MAIS par VBA afin de changer le style, gras etc etc

Merci d'avance de votre réponse, bonne après midi a vous

Cdlt Ray

8 réponses

  1. Contributeur
    Bonjour,

    exemple bascule pour gras :
    CommandButton1.Font.Bold = Not CommandButton1.Font.Bold

    Pour les autres propriétés faire F1 sur Font

    eric
    0
    1. Bonjour,
      ecrivez dans vba ex:
      CommandButton1.Font.

      quand vous aurez ecrit le dernier . vous aurez une liste deroulante pour changer
      l'ecriture (style,taille.....)

      Bonne suite
      0
      1. Bonsoir eriiic
        bonsoir f894009

        Merci a vous pour vos réponses c'est sympa, pour les commandbouttons il ont étés
        créer dynamiquement par VBA

        Donc on ne peut pas écrire dedans comme dans commandbuttons fait avec la boite a outils

        Par la boite de propriété je sais bien le faire, Mais comment faire en VBA

        si vous avez un exemple a me proposer car je ne comprends pas bien le fil de vos réponses.

        Merci a vous je vous souhaite une très bonne soirée

        A vous relire avec plaisir

        Cdlt Ray
        0
        1. Contributeur
          C'est bien de vba qu'on te parlait...

          Lors de la création des boutons ils sont nommés.
          Tu peux te servir de ce nom pour modifier ses propriétés, ou bien te servir du type de contrôle, ou une combinaison des deux.

          Exemple à mettre dans le userform :
          Private Sub UserForm_Click()    
          
              ' met en gras le contrôle nommé CommandButton1  
              CommandButton1.Font.Bold = True  
          
              ' boucle sur tous les contrôles :  
              Dim Ctrl As Control    
              For Each Ctrl In Me.Controls    
          
                  'tous les contrôles dont le nom commence par Btn    
                  If Left(Ctrl.Name, 3) = "Btn" Then Ctrl.Font.Bold = True    
          
                  ' ou bien tous les contrôles de type CommandButton    
                  If TypeName(Ctrl) = "CommandButton" Then Ctrl.Font.Bold = True    
          
              Next Ctrl    
          End Sub 

          Met en gras tous les contrôles dont le nom commence par Btn (quelque soit le type),
          et tous les contrôles de type CommandButton

          A toi de choisir la méthode

          eric
          0
      2. salut eric

        mes boutons apparaissent au moment ou je lance l'ouverture de l'userform

        j'ai 7 fois 50 boutons qui représentent des dégradés couleurs

        donc ils sont vides a part la couleur bien sur aucune écriture dedans

        alors tout se passe par programmation VBA

        merci pour le petit code je vais voir ce que je peux faire

        Bonne soirée a toi

        au plaisir de relire

        Ray
        0
        1. Contributeur
          Regarde la portion de code qui crée tes boutons et essaie de t'insérer à ce niveau.
          C'est plus simple de régler les propriétés au moment de leur création qu'ensuite par une autre boucle.
          eric
          0
      3. Re eric

        Merci j'ai regarder un peu le code, je paufine ca demain, la nuit porte conseil

        te tiendrai au courant.

        (Regarde la portion de code qui crée tes boutons et essaie de t'insérer à ce niveau)

        Mais ta réponse te donne raison mais plus le choix maintenant

        merci de ton aide, une bonne soirée a toi

        Bye Ray
        0
        1. Bonjour Eric,

          voila j'ai trouver quelques codes qui fonctionne pour modifier l'écriture SAUF pour les alignements Left - Right - Center

          j'ai regarder la doc d'excel 2007 pas trouver ce dont j'ai besoin

          voir svp le code ci-dessous pour les alignements qui ne fonctionne pas

          Merci et bonne journée a toi

          Cdlt Ray

          PS: code d'hier soir, c'est bon merci

          With Bouton
             .Left = (K * Largeur) + DepLeft               
             .Top = (J * Hauteur) + DepTop
             .Width = Largeur                              
             .Height = Hauteur                           
             .Tag = Nb
           ' .Font.Size = Largeur / 2                     
           ' .Caption = Nb                                
          '********************* les 3 codes ci dessous pas réussi
          '    .VerticalAlignment = xlCenter
          '    .HorizontalAlignment = xlCenter
          '    .AlignmentCenter= ??
          '*********************
          .Font.Bold = True
          .Font.Size = 10
          .Font.Name = "Arial"
          .Font.Italic = False
          End With
          
          0
          1. Contributeur
            Bonjour,

            VerticalAlignment et les autres ne sont pas des propriétés d'un bouton (ça sera valable pour positionner le texte dans une cellule, entre autres)
            Dans un bouton le texte est toujours centré horizontalement et verticalement.
            Fais F1 sur Font saisi dans l'éditeur pour voir ses propriétés ou bien sélectionne le bouton et regarde dans la fenetre 'propriétés'

            eric
            0
          2. Re salut éric,

            merci pour ta réponse, c'est gentil

            je ne peux pas selectionner les boutons ils n'apparaissent que lorsque j'ouvre l'userform,

            mais sur le petit code que je t'ai envoyer tout a l'heure, la je peux en vba intervenir

            je souhaiterai svp pouvoir aligner a gauche ou a droite le texte dans le bouton

            pour ca je n'ai pas trouver après c'est bon pour moi

            Merci bonne après midi

            Ray
            0
          3. Contributeur
            hé, faut lire les réponses : Dans un bouton le texte est toujours centré horizontalement et verticalement.
            0
          4. RE eric

            heu autant pour moi, trop pris par mon programme, pas fait attention, désolé

            je ne le ferai plus LOL

            Alors juste une petite question si tu veux bien et si tu sais bien sur

            comment faire en vba pour insérer un caractère ou un symbole spécial justement dans bouton

            dont j'ai déja parler via mon Userform1 et Frame1

            Au cas ou, si tu peux me faire svp un exemple ca sera plus facile pour moi, je te promets

            de lire tout comme il le faut LOL

            Merci a toi bonne après midi

            Ray
            0
          5. Contributeur
            comment faire en vba pour insérer un caractère ou un symbole spécial justement dans bouton
            Un bouton c'est une et une seule police.
            eric
            0
        2. Contributeur
          Bonjour,
          Tout est expliquer dans ce tuto
          A+
          0
          1. Salut lermite222

            salut eric

            Merci a vous deux pour vos réponses, voila au moins j'en sais davantage.

            je vais donc voir pour faire autrement

            ca mets fin a cette discution dont vous avez eu la gentillesse de me répondre

            encore merci Bonne soirée a vous

            Cordialement Ray
            0