• Initiateur de la discussion Initiateur de la discussion apdf1
  • Date de début Date de début

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 !

apdf1

XLDnaute Impliqué
Bonjour,

Voila j'ai un USF avec des textBox et une ComBobox qui donne le nombre de textBox visible sur l'USF.

"Code réaliser par Papou-net que je remercie au passage"

j'aimerais si possible avoir un complément de code pour avoir une dimension USF en fonction du nombre de textBox visible.

Ci-joint mon fichier exemple

Je vous remercie par avance et vous souhaite une bonne journée.

Cordialement
Max
 

Pièces jointes

Re : Dimension d'USF

Bonjour apdf1,

Voici le code modifié :

Code:
Private Sub ComboBox1_Change()
Application.ScreenUpdating = False
For n = 1 To 100
  Me.Controls("TextBox" & n).Visible = False
  If n <= CInt(ComboBox1.Value) * 2 Then
    With Me
      .Controls("TextBox" & n).Visible = True
      .Height = IIf(n < 51, Me.Controls("TextBox" & n).Top + .Controls("TextBox" & n).Height + 40, _
      .Controls("TextBox49").Top + .Controls("TextBox49").Height + 40)
    End With
  End If
Next
Application.ScreenUpdating = True
End Sub

Bonne journée.

Cordialement.
 
Re : Dimension d'USF

Re,

Je te remercie beaucoup vraiment génial, par contre deux petit chose a te demander si je n'abuse pas trop.
Il a fallu que je change le sens des textBox pour une meilleur
façon de remplir mon USF, j'ai mis les textBox en ligne soit 1,2,3,4 sur la première ligne 5,6,7,8 sur la deuxième ligne ect..voila pour première demande, et est-il possible d'avoir USF du départ ouvert uniquement dessous mon bouton Valider.

Sur ce je te remercie encore et je te joint mon fichier comme exemple

bonne fin d'après midi.

Cordialement

Max
 

Pièces jointes

Re : Dimension d'USF

Re apdf1,

Voici les macros modifiées dans le module UserForm1 :

Code:
Private Sub ComboBox1_Change()
Dim NbCBx As Byte
Application.ScreenUpdating = False
With Me
  For n = 1 To 99 Step 2
    .Controls("TextBox" & n).Visible = False
    .Controls("TextBox" & n + 1).Visible = False
    If n <= CInt(ComboBox1.Value) * 2 Then
      NbCBx = NbCBx + 2
      .Controls("TextBox" & n).Visible = True
      .Controls("TextBox" & n + 1).Visible = True
    End If
  Next
  .Height = .Controls("TextBox" & NbCBx).Top + .Controls("TextBox" & NbCBx).Height + 40
End With
Application.ScreenUpdating = True
End Sub

Private Sub UserForm_Activate()
Me.Height = 80
End Sub

On pourrair règler directement la hauteur du UserForm1 dans ses propriétés, mais je l'ai ajouté dans l'événement Activate. Ca permet de voir le formulaire plus dans l'éditeur VB et d'avoir ainsi accès aux TextBox.

Cordialement.
 
- 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

Réponses
9
Affichages
509
Réponses
12
Affichages
376
Réponses
4
Affichages
379
  • Question Question
XL 2013 VBA Excel
Réponses
2
Affichages
675
Réponses
17
Affichages
1 K
Retour