XL 2019 Multipage dans UserForm données suprimée après validation

Yann71

XLDnaute Occasionnel
Bonjour le Forum.
J'ai une MultiPage dans mon UserForm. Dans ce MultiPage il y a une colonne ou se trouve des libellés et une autre ou se trouve des TextBoxs.
Les libellés sont sensé afficher l'état du contenu de ma liste à l'ouverture de l'UserForm ce qu'ils ne font pas, sûrement un problème de code que je n'arrive à résoudre après une nuit blanche. Les TextBoxs me permettent de modifier ma liste. Cette liste se trouve dans une feuille nommée "LISTE". Pour valider la modification dans le MultiPage, j'utilise un bouton " valider les modifications de la liste ".
Dans un premier temps, pour faire aparaître le contenu de ma liste, je dois cliquer sur ce bouton 1x et cela mets du temps jusqu'à ce que les données s'affiche dans les libellés mais en même temps suprime toutes les données de ma liste dans ma feuille LISTE. Si je clic une 2 x sur ce même bouton, il supime le contenu des libellés et du contenu de ma liste sur la feuille "LISTE", donc plus de données dans mes ComboBoxs.
J'espère que je me suis montré assez clair dans mes explications. Je vous remercie d'avance pour votre aide.
 

Pièces jointes

  • LISTVIEW_REPAS_V10 - Copie2.xlsm
    409.4 KB · Affichages: 22

Yann71

XLDnaute Occasionnel
Re
y'a ceux ci qui semble fonctionner
VB:
Private Sub UserForm_Initialize()
    Dim ctl As Control, ratioW#, ratioH#, wstate&
    With Application: wstate = .WindowState: .WindowState = xlMaximized:
        ratioW = Application.Width / Me.Width
        ratioH = Application.Height / Me.Height
        .WindowState = wstate
    End With
    With Me
        .StartUpPosition = 0: .Left = 0: .Top = 0
        .Width = (.Width * ratioW) - (.Width - .InsideWidth)
        .Height = (.Height * ratioH) - (.Height - .InsideHeight) + (.Width - .InsideWidth)
    End With
    For Each ctl In Me.Controls
        ctl.Move ctl.Left * ratioW, ctl.Top * ratioH, ctl.Width * ratioW, ctl.Height * ratioH
        Select Case TypeName(ctl)
        Case "TextBox", "Label", "Frame", "CommandButton", "MultiPage", "ListBox", "ComboBox", "CheckBox", "OptionButton"
            ctl.Font.Size = ctl.Font.Size * ratioH
        End Select
    Next
End Sub
Voir Le Lien
y'a du Patricktoulon ! Lol
jean marie
Ouha quelle rapidité. J'aurais toutefois un problème avec ce code car j'ai déjà un " Private Sub UserForm_Initialize() " dans mon code de l'UserForm
 

ChTi160

XLDnaute Barbatruc
mdr
il te suffit de mettre cette partie du Code sous le terme
Private Sub UserForm_Initialize() de ton Userform1
VB:
 Dim ctl As Control, ratioW#, ratioH#, wstate&
    With Application: wstate = .WindowState: .WindowState = xlMaximized:
        ratioW = Application.Width / Me.Width
        ratioH = Application.Height / Me.Height
        .WindowState = wstate
    End With
    With Me
        .StartUpPosition = 0: .Left = 0: .Top = 0
        .Width = (.Width * ratioW) - (.Width - .InsideWidth)
        .Height = (.Height * ratioH) - (.Height - .InsideHeight) + (.Width - .InsideWidth)
    End With
    For Each ctl In Me.Controls
        ctl.Move ctl.Left * ratioW, ctl.Top * ratioH, ctl.Width * ratioW, ctl.Height * ratioH
        Select Case TypeName(ctl)
        Case "TextBox", "Label", "Frame", "CommandButton", "MultiPage", "ListBox", "ComboBox", "CheckBox", "OptionButton"
            ctl.Font.Size = ctl.Font.Size * ratioH
        End Select
    Next
ce que j'ai fait pour tester !
jean marie
 

Yann71

XLDnaute Occasionnel
mdr
il te suffit de mettre cette partie du Code sous le terme

VB:
 Dim ctl As Control, ratioW#, ratioH#, wstate&
    With Application: wstate = .WindowState: .WindowState = xlMaximized:
        ratioW = Application.Width / Me.Width
        ratioH = Application.Height / Me.Height
        .WindowState = wstate
    End With
    With Me
        .StartUpPosition = 0: .Left = 0: .Top = 0
        .Width = (.Width * ratioW) - (.Width - .InsideWidth)
        .Height = (.Height * ratioH) - (.Height - .InsideHeight) + (.Width - .InsideWidth)
    End With
    For Each ctl In Me.Controls
        ctl.Move ctl.Left * ratioW, ctl.Top * ratioH, ctl.Width * ratioW, ctl.Height * ratioH
        Select Case TypeName(ctl)
        Case "TextBox", "Label", "Frame", "CommandButton", "MultiPage", "ListBox", "ComboBox", "CheckBox", "OptionButton"
            ctl.Font.Size = ctl.Font.Size * ratioH
        End Select
    Next
ce que j'ai fait pour tester !
jean marie
Oui j'ai vu le lien, merci par-ailleurs.
Je vais faire le test de suite.
 

Discussions similaires