Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro et formulaire

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

chasseur44

XLDnaute Occasionnel
Bonjour le forum
j'ai juste une question et si un lecteur pouvait me mettre sur la piste.
je souhaiterais créer un formulaire assez simple du style X Label et X textBox, est-il possible d'automatiser le nombre de label et de textbox en fonction d'une variable X ?
Merci pour votre aide
 
Re : Macro et formulaire

Bonjour ,

Oui , c'est surement possible ,

a concurrence de ne plus tenir dans le formulaire,

Pour ne pas faire une usine à gaz juste pour ce faire plaisir

l'idéal est plutot de les prévoir dans le formulaire et de les passer en invisibilté

tous cela géré dans la procédure initialize du formulaire , avec une variable public déclarée dans un module standard précisant le nombre de label textbox (il vont logiquement de paire)

voilà , voilà ,

Bon courage
 
Re : Macro et formulaire

Bonjour,

Une piste à adapter :
Code:
Private Sub UserForm_Initialize()
    
    Dim Txt As MSForms.TextBox
    Dim Lbl As MSForms.Label
    Dim NbCtrl As Integer
    Dim I As Integer
    Dim Haut As Integer
    Dim Gauche As Integer
    Dim Largeur As Integer
    Dim Hauteur As Integer
    Dim Espace As Integer
    
    'dimensions des contrôles
    Hauteur = 15
    Largeur = 100
    
    'espace les séparants
    Espace = 10
    
    'nombre de paires de contrôles
    NbCtrl = 10
    
    'initialise le point de départ
    Haut = Espace
    
    'boucle sur le nombre
    For I = 1 To NbCtrl
        
        'création des Labels
        Set Lbl = Me.Controls.Add("Forms.Label.1", "Lbl" & I, True)
        
        'définition de certaines propriétés des Labels
        With Lbl
        
            .Top = Haut
            .Left = Espace
            .Height = Hauteur
            .Width = Largeur
            .Caption = "Label " & I
            .BorderStyle = 1
            .TextAlign = fmTextAlignCenter
            
        End With
        
        'créations des TextBox
        Set Txt = Me.Controls.Add("Forms.TextBox.1", "Txt" & I, True)
        
        'définition de certaines propriétés des TextBox
        With Txt
        
            .Top = Haut
            .Left = Espace + Lbl.Width + Espace
            .Height = Hauteur
            .Width = Largeur
            
        End With
        
        'incrémente
        Haut = Haut + Hauteur + Espace
        
    Next I
    
    'si les contrôles du bas ne sont plus visibles, affiche la barre verticale
    If Haut > Me.Height Then
    
        Me.ScrollBars = fmScrollBarsVertical
        Me.ScrollHeight = Haut
        
    End If
    
End Sub
Si une gestion des évènements des TexBox est nécessaire, il faudra utiliser un module de classe donc, reviens si c'est le cas.

Hervé.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Réponses
7
Affichages
464
  • Question Question
Microsoft 365 Formulaire
Réponses
2
Affichages
209
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…