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: 23

ChTi160

XLDnaute Barbatruc
Bonjour Yann
Bonjour le Forum
Yann si tu n'est pas encore Couché Lol
pourrais tu nous expliquer ce que tu attends par l'exemple
pas évident de comprendre !
le premier Problème c'est que tu as les deux états dans la même procédure
tu Récupères le valeurs et tu les efface juste après.
VB:
.Lbl_cons1 = ws.Cells(2, 1).Value 'ici On récupére la valeur de la Cellule
ws.Range("A2") = .Txt_cons1.Value 'et la On efface car Txt_Cons1 est Vide
je regarde des que possible
regarde le Fichier joint !
je dois partir Lol
jean marie
 

Pièces jointes

  • LISTVIEW_REPAS_V10 - CHti160.xlsm
    406.1 KB · Affichages: 2
Dernière édition:

Yann71

XLDnaute Occasionnel
Bonjour Yann
Bonjour le Forum
Yann si tu n'est pas encore Couché Lol
pourrais tu nous expliquer ce que tu attends par l'exemple
pas évident de comprendre !
le premier Problème c'est que tu as les deux états dans la même procédure
tu Récupères le valeurs et tu les efface juste après.
VB:
.Lbl_cons1 = ws.Cells(2, 1).Value 'ici On récupére la valeur de la Cellule
ws.Range("A2") = .Txt_cons1.Value 'et la On efface car Txt_Cons1 est Vide
je regarde des que possible
regarde le Fichier joint !
je dois partir Lol
jean marie
Bonjour Jean-marie,
Bonjour le Forum.
🥱 si j'étais au dodo, mais me revoici en activité, ben oui déja LOL. Tu as déja résolut un soucis d'afichage. Donc pour être plus concis je souhaite qu'à l'ouverture de mon user les libellés affichent le contenu des listes sans passer par un bouton permet de les afficher. Ensuite, que je puisse modifier les listes en écrivant dans les TextBoxs et que ceux-ci modifie ma liste en temps réel si c'est possible ou via un bouton qui valide les modifications.

Yann
 

Yann71

XLDnaute Occasionnel
Re
une autre version Lol
On ne modifie que les données de la pages "Affichée"
jean marie
Un grand merci. C'est ce que je souhaitais, mais une question qu'elle est ou sont les différences entre ton avant dernier et dernier fichier, je n'arrive pas à y trouver une différence. Alors pour répondre à ta question, non pas besoin de faire d'autres modifs ormis le feuille "LISTE" à préciser que cette feuille sera cachée. La seule feuille qui sera peut-être visible sera la BDD, je n'ai pas encore pris ma décision ;O)
 

Yann71

XLDnaute Occasionnel
Dans la dernière version on ne transfére que les données de la page active du multipage.
Au lieu des données de toutes les pages a chaque fois.
Jean marie
Depuis mon telephone
Pourtant que j'ouvre l'User depuis le bouton ou depuis mes petits bébés le résultat est le même je ne vois aucune différence. Maintenant c'est peut-être moi qui ne comprends pas ce que tu expliques, si tel est le cas j'en suis navré.
Petite question, quelle manipulation dois-je faire si je souhaite remplacé mes libellés par des TextBoxs qui eux seront protégé "enabled=false "
 

Yann71

XLDnaute Occasionnel
Re
Ce n'est pas a l'ouverture que l'on voit la différence !
Mais lorsque tu click sur le bouton modifier.
Ça ne change que les données de la feuille affichée du multipage.
Pourquoi mettre des TextBox ? Dis moi
Jean marie
Ok cette fois-ci j'ai compris ;).
Ben heu comme ça car je me souviens dans un user j'avais mis des TxtBoxs et certain je l'ai avait bloqué, ceux-ci affichais le nom de la personne, mais je pense que des Libellés c'est plus juste que des TextBoxs.
Une question bonus, je travail sur un écran 21.5' et j'ai remarqué que si j'ouvre ce fichier par exemple sur un 14' c'est la cata l'user débord hors écran, est-ce qu'il y a quelque chose à faire ormis de mettre des barres de défillements verticales et horizontales, existe-t-il une code qui permette de varier la taile de l'user exemple un bouton qui permette de l'aficher en 100% et à 80%.
 

ChTi160

XLDnaute Barbatruc
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
 

Discussions similaires

Statistiques des forums

Discussions
314 626
Messages
2 111 297
Membres
111 093
dernier inscrit
Yvounet