Classes - Démarrer un UserForm à Partir de scratch

bonjour,

Quelqu'un peut-il me déniaiser SVP sur ce UserForm

11testclasse.xlsm (30.88 Ko)

L'intention étant d'afficher une centaine d'images de quelques Ko.

Merci

A+

Bonjour toutes et tous

coucou Galopin

sur l'userform mettre 1 scrollBar en vertical si çà peut t'aider

pas trop compris le titre surtout scratch lol

Option Explicit

Private Sub UserForm_Initialize()
On Error Resume Next  ' ajouter
Dim Obj As Control
Dim i%, ii%
   For i = 1 To 100
   ii = i Mod 5
   Set Obj = Me.Controls.Add("forms.Image.1")
      With Obj
      .Name = "Pict" & i
      .Tag = ii
      .Left = IIf(ii = 0, 168, 88)
      .Top = 12 + 30 * (i - 1)
      .Width = IIf(ii = 0, 24, 88)
      .Height = 24
         If ii = 0 Then .Picture = "IMG/score.gif"
      ReDim Preserve Picts(1 To i)
      Set Picts(i).Pict = Obj
      End With
   Next
Obj = Nothing
Me.Top = 0
Me.Left = 5
End Sub

 Private Sub UserForm_Activate()
 ' merci à PatrickToulon
    Dim t#, ctrl, etat
    etat = Application.WindowState
    Application.WindowState = xlMaximized
    Me.Height = Application.Height - 18
    t = 0
    For Each ctrl In Me.Controls: t = IIf(ctrl.Top + ctrl.Height > t, ctrl.Top + ctrl.Height, t): Next
    Me.ScrollBars = 2
    Me.ScrollHeight = t + 10
    Application.WindowState = etat
End Sub
ztes7

crdlt,

André

Bonjour,

ci-jointe une proposition

2testclasse1.xlsm (26.38 Ko)

Bonjour,

Je n'ai pas encore lu la réponse de thev... Je regarderai ensuite ce que tu dis...

Merci de t’intéresser au sujet. La question n'était pas de me fournir une solution qui ne peut convenir car mes décalages sont complètement faux : Je suis obligé de les recalculer (normalement ils devraient tenir dans un écran sans ascenseur)

En fait le problème était seulement de me dire pourquoi ça plante : même avec des points d'arrêt je n'arrivais pas à déboguer car je n'avais pas de lignes en surbrillance. Ça semblait marcher sur quelques boucles et puis je me faisais shooter comme un malpropre.

Visualiser ta soluce m'a fait comprendre que probablement je sortais des integer...

Bon c'est pas TOUSSA YFO quand même que je repense tout le bouzin : Maintenant que j'ai un minimum de visuel je vais pouvoir corriger...

A tous ceux qui passent par là Inutile de phosphorer sur le sujet tant que je n'ai pas recalculé mes décalages. : Je reviendrai juste si j'ai du mal à finaliser.

Merci

A+

Thev : J'ai regardé en diagonale car j'avais déjà bien avancé. A priori ça ne m'a rien apporté mais je n'ai pas vraiment creusé. Désolé mais merci quand même !

André : Start From Scratch = Partir de zéro : C'est une expression qu'on retrouve parfois en programmation.

Ex : quand on édite le Ribbon : La première ligne est

StartFromScratch = True

Finalement je crois comprendre que c'est le Obj = Nothing qui plantait le bouzin...

Ceci corrigé, plus besoin de mettre les poussières sous le tapis :

Le On Error Resume Next peut être supprimé sans problème.

Je donne ici un version corrigé (avec des décalages moins farfelus) du fichier corrigé. (mais toujours en développement)

7mmind.xlsm (38.02 Ko)

Bonne soirée, bon réveillon et meilleurs voeux à tous...

Bonjour …

Erreur ici (et c’est normal)

erreur

Pour la surmonter j’ai, entre autres*, modifié cette ligne dans le fichier joint.

4mmind.xlsm (34.71 Ko)

*J’y ai intégré le Module de Classe comme dans le premier exemple et les pistes auxquelles tu pensais ne posent pas de problème avec lui.

Bonjour Ordonc,

Désolé mais j'ai considérablement avancé dans une autre direction donc là tu es un peu hors sujet.

Mais je garde le truc sous le coude pour une étude plus approfondie...

Merci et meilleurs voeux !

Je clôture le sujet.

A+

Rechercher des sujets similaires à "classes demarrer userform partir scratch"