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

Annuler textbox si cellule vide et redimentionnement interface

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 !

KyFranRD

XLDnaute Occasionnel
Bonjour

Je désire savoir comment supprimer un ou plusieurs texbox dans une interface si leurs cellules correspondantes sont vides?

Voir fichier

Merci à l'avance
 

Pièces jointes

Re : Annuler textbox si cellule vide et redimentionnement interface

Bonjour KyFranrd,

avec ceci:
Code:
Private Sub CommandButton1_Click()

' Renvoie des valeurs dans textbox(s)

UserForm1.TextBox1.Value = Range("B4").Value
UserForm1.TextBox2.Value = Range("B5").Value
UserForm1.TextBox3.Value = Range("B6").Value
UserForm1.TextBox4.Value = Range("B7").Value
UserForm1.TextBox5.Value = Range("B8").Value

For i = 1 To 5
If UserForm1.Controls("textbox" & i).Value = "" Then
UserForm1.Controls("textbox" & i).Visible = False
End If
Next i

Load UserForm1
UserForm1.Show
Unload UserForm1
End Sub

à+
Philippe
 

Pièces jointes

Re : Annuler textbox si cellule vide et redimentionnement interface

bonjour phlaurent55

cela fonctionne trés bien.

Par contre peux tu me dire s'il existe une façon de redimentionner une interface autrement que de créer des conditions et me servir de la propriété HEIGHT liée à ce userform?

merci
 
Re : Annuler textbox si cellule vide et redimentionnement interface

Re,

bien sûr cela est possible mais dans ce cas, si il n'y a que les 2, 3, 4 ou 5 derniers TBox à afficher, il faudra (en plus du redimensionnement de l'usf ) déplacer la position des TBox restants affichés

......de la joie en perspective

à+
Philippe
 
Re : Annuler textbox si cellule vide et redimentionnement interface

Bonjour KyFranRD, salut Philippe 🙂

Une autre solution :

Code:
Private Sub CommandButton1_Click()
Dim cel As Range, n As Byte
With UserForm1
.Height = 36
  For Each cel In [B4:B8]
    If cel <> "" Then
      n = n + 1
      .Controls("TextBox" & n) = cel
      .Height = .Height + 42
    End If
  Next
.Show
End With
End Sub
Fichier joint.

A+
 

Pièces jointes

Re : Annuler textbox si cellule vide et redimentionnement interface

Re,

Noter que la hauteur initiale de l'USF est 36 pour Excel 2003.

Sur Excel 2010 elle doit être fixée à 32.

Le pas de 42 est bon dans les 2 versions.

A+
 
- 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
4
Affichages
242
Réponses
10
Affichages
619
Réponses
3
Affichages
315
Réponses
2
Affichages
282
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…