USF et Format automatique

Ilino

XLDnaute Barbatruc
Bonsoir Forum
mon souci de jour c'est Format de USF
J’ai crée un USF , je souhaite afficher les Tableaux( les titres seulement dans USF) selon le nombre saisie dans le TextBox1 (Nombre de tableaux Principaux ?)
C a d si je saisie dans TextBox1 (Nombre de tableaux Principaux ?) = 4
J’aurai automatiquement dans USF 4 titres
Tab N°01 : Nombre des Items dans le Tableau " A "
Tab N°02 : Nombre des Items dans le Tableau " B "
Tab N°03 : Nombre des Items dans le Tableau " C "
Tab N°04 : Nombre des Items dans le Tableau " D "
Et Mon USF s'adapte ( la forme) au nombre affiché dans le Textbox 1
GRAZIE
NB: nombre limité a 10 dans le TextBox 1
 

Pièces jointes

  • ILINO - usf format v1.xlsm
    137.9 KB · Affichages: 33
Dernière édition:

Ilino

XLDnaute Barbatruc
Re : USF et Format automatique

Re
en réalité je souhaite remplacer le code
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [E5:E25]) Is Nothing Then Exit Sub
Dim ntab&, lettre$, n&, i&
Target.Select
Application.ScreenUpdating = False
ntab = Val([E5])
Rows("6:2066").Hidden = True
For ntab = 1 To ntab
  Rows(4 + 2 * ntab).Resize(2).Hidden = False
  lettre = Chr(64 + ntab)
  n = Val([E5].Offset(2 * ntab))
  i = Application.Match(lettre, [A:A], 0) - 1
  Rows(i & ":" & i + 2 * n + 1).Hidden = False
  i = Application.Match("Total " & lettre, [A:A], 0) - 1
  Rows(i).Resize(2).Hidden = False
Next
End Sub


Par un USF
A+
 

CHALET53

XLDnaute Barbatruc
Re : USF et Format automatique

bonjour,

Un essai
J'ai modifié les noms des textboxs et Labels pour qu'ils correspondent au N° des tableaux

Je rends invisible les tableaux inutiles

a+
 

Pièces jointes

  • ILINO 2014- usf format v1.xlsm
    148.6 KB · Affichages: 21

job75

XLDnaute Barbatruc
Re : USF et Format automatique

Bonjour Ilino, CHALET53,

Je ne vois pas trop l'intérêt d'un UserForm ici mais bon...

Le code de l'UserForm :

Code:
Private Sub CommandButton1_Click() 'Valider
Dim i As Byte
For i = 0 To Val(TextBox1)
  Sheets("FGP 2014").[E5].Offset(2 * i) = Controls("TextBox" & i + 1).Value
Next
If Val(TextBox1) Then Unload Me Else TextBox1.SetFocus
End Sub

Private Sub CommandButton2_Click() 'Annuler
Unload Me
End Sub

Private Sub TextBox1_Change()
If Val(TextBox1) = 0 Then Me.Height = CommandButton1.Top + 43: Exit Sub
TextBox1 = Application.Min(Int(Abs(Val(TextBox1))), 10)
Me.Height = Controls("TextBox" & Val(TextBox1) + 1).Top + 43
End Sub

Private Sub Userform_Initialize()
Dim i As Byte
TextBox1 = 0
For i = 0 To 10
  Controls("TextBox" & i + 1) = Sheets("FGP 2014").[E5].Offset(2 * i)
Next
End Sub
Toutes les TextBoxes doivent être numérotées dans le bon ordre, de 1 à 11.

Fichier joint.

A+
 

Pièces jointes

  • ILINO - usf format(1).xlsm
    148.7 KB · Affichages: 21

Ilino

XLDnaute Barbatruc
Re : USF et Format automatique

Bonjour CHALET
MERCI pour la réponse , mais
1. je souhaite que toutes les textboxs de USF soit masqués au demarage ( c a d que le le textbox est vide) ainsi que le format de USF
2.
a+
 

Pièces jointes

  • ILINO 2014 usf format chalet1.xlsm
    151.5 KB · Affichages: 20

Ilino

XLDnaute Barbatruc
Re : USF et Format automatique

Re bonjour
sorry JOB j ai pas vu ton message
super ça fonctionne tres bien mais l'interet de USF est de ne pas utiliser le code et les lignes au dessus des tableau
je souhaite de USF DIRECTEMENT AFFICHER LES TABLEAU ET LEURS LIGNES
GRAZIE
 

job75

XLDnaute Barbatruc
Re : USF et Format automatique

Re,

Tu as tord de vouloir supprimer la macroWorksheet_Change...

En mettant tout dans la macro du bouton "Valider" :

Code:
Private Sub CommandButton1_Click() 'Valider
Dim ntab&, i&, lettre$, n&
ntab = Val(TextBox1)
With Sheets("FGP 2014") 'nom à adapter
  For i = 0 To ntab
    .[E5].Offset(2 * i) = Controls("TextBox" & i + 1).Value
  Next
  Application.ScreenUpdating = False
  .Rows("6:2066").Hidden = True
  For ntab = 1 To ntab
    .Rows(4 + 2 * ntab).Resize(2).Hidden = False
    lettre = Chr(64 + ntab)
    n = Val(.[E5].Offset(2 * ntab))
    i = Application.Match(lettre, [A:A], 0) - 1
    .Rows(i & ":" & i + 2 * n + 1).Hidden = False
    i = Application.Match("Total " & lettre, .[A:A], 0) - 1
    .Rows(i).Resize(2).Hidden = False
  Next
End With
Application.ScreenUpdating = True
If ntab Then Unload Me Else TextBox1.SetFocus
End Sub
Fichier (2).

Edit : j'avais oublié les points...

A+
 

Pièces jointes

  • ILINO - usf format(2).xlsm
    148.7 KB · Affichages: 20
Dernière édition:

job75

XLDnaute Barbatruc
Re : USF et Format automatique

Re,

D'accord, je pense avoir compris ce que tu veux :

Code:
Private Sub CommandButton1_Click() 'Valider
Dim ntab&, lettre$, n&, i&
ntab = Val(TextBox1)
Application.ScreenUpdating = False
With Sheets("FGP 2014") 'nom à adapter
  .Rows("5:2043").Hidden = True
  For ntab = 1 To ntab
    lettre = Chr(64 + ntab)
    n = Val(Controls("Textbox" & ntab + 1))
    i = Application.Match(lettre, [A:A], 0) - 1
    .Rows(i & ":" & i + 2 * n + 1).Hidden = False
    i = Application.Match("Total " & lettre, .[A:A], 0) - 1
    .Rows(i).Resize(2).Hidden = False
  Next
End With
Application.ScreenUpdating = True
Unload Me
End Sub
Adapte au besoin la plage à masquer "5:2043".

Fichier (3).

A+
 

Pièces jointes

  • ILINO - usf format(3).xlsm
    145.1 KB · Affichages: 25

Discussions similaires