Load et Unload [Résolu]

Signaler
Messages postés
123
Date d'inscription
jeudi 14 novembre 2002
Statut
Membre
Dernière intervention
30 mars 2009
-
Messages postés
123
Date d'inscription
jeudi 14 novembre 2002
Statut
Membre
Dernière intervention
30 mars 2009
-
PsyCaDi

4 réponses

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
25
à partir du moment où tu fais appel à Me.Lbl_TitreType(i) si le contrôle n'existe pas ça entraine le plantage.

où tu gère tes contrôles par des tables

ou tu y accède par les collections



Dim x As Object



For Each x In Me.Controls("Label1")

If x.Index > 0 Then

Unload x

End If

Next




Daniel
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 115 internautes nous ont dit merci ce mois-ci

Messages postés
123
Date d'inscription
jeudi 14 novembre 2002
Statut
Membre
Dernière intervention
30 mars 2009

Bonjour,
Il y a une chose que je ne comprends pas. J'ai passe le code dans tous les sens et je ne comprends pas.

Voici mon bout de code :

Dim i As Integer
MsgBox "On charge les labels"
For i = 1 To 2
Load Me.Lbl_TitreType(i)
With Me.Lbl_TitreType(i)
.Top = Coord(i).Top
.Left = Coord(i).Left
.Visible = True
End With
MsgBox "Fin du chargement du label " & i
Next i
MsgBox "fin des chargement"
For i = 1 To 3
If Not Me.Lbl_TitreType(i) Is Nothing Then
Unload Me.Lbl_TitreType(i)
End If
MsgBox "On décharge " & i
Next i
MsgBox "fin déchargement"

Je croyais que
If Not Me.Lbl_TitreType(i) Is Nothing Then
Unload Me.Lbl_TitreType(i)
End If
ne devait ne pas se faire si le label n'était pas créé mais il se fait quand même.
Pourquoi?

Ce code marche bien si je décharge les 2 première éléments mais au 3ème il me dit que l'objet n'existe pas (logique vu que je ne le crée pas mais comment ce ### arrive à me dire qu'il n'est pas Nothing?)


PS Désolé le post a planté
Messages postés
14683
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
3 août 2020
144
Il s'agit d'une collection/tableau, et tu accède à un élément inconnu, d'où l'erreur de dépassement de limite de tableau.

Met une variable globale mémorisant le nombre de controle créés.



Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)

Une question se pose sur le forum, pas en privé


NH
Messages postés
123
Date d'inscription
jeudi 14 novembre 2002
Statut
Membre
Dernière intervention
30 mars 2009

Bon et bien encore un mystère
Je viens de rebooter ma machine et le bout de code marche maintenant...
Désolé du dérangement