Bonjour,

J'ai une Frame3 dans ma feuille saisi. J'y affiche un nombre d'étiquette variable en fonction de l'exécution du programme.

J'aimerai les supprimer, pour qu'elle ne se superpose pas. Voilà mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
    Dim Obj As Control
    Dim i As Integer
 
    Dim Glabel As gere_event_label
    Set Glabel = New gere_event_label
    Set CollectLabel = New Collection
 
 
 
'    Dim Item As Object
'    If CollectLabel.Count > 0 Then
'        For i = 1 To CollectLabel.Count
'            saisi.Frame3.Controls.Remove (LabelInfo & i)
'        Next
'    End If
 
 
    While Not rst.EOF
        Set Obj = saisi.Frame3.Controls.Add("forms.Label.1")
        With Obj
            .Name = "LabelInfo" & rst.Fields("idInformation")
            .Caption = rst.Fields("libelle")
            .Left = 35
            .Top = 25 * i + 40
            .Width = 80
            .Height = 20
        End With
 
 
        'ajout de l'objet dans la classe
        Set Glabel.CLabel = Obj
        CollectLabel.Add Glabel
 
        rst.MoveNext
        i = i + 1
 
    Wend

La partie qui est commenté ne marche pas. Il s'arrête sur cette ligne : saisi.Frame3.Controls.Remove (LabelInfo & i) et me dit 'Erreur de compilation : Variable non défini' en montrant LabelInfo & i.

C'est normal, c'est le nom de mon étiquette. Mais comment lui dire de supprimer l'étiquette qui a ce nom alors svp ?

Merci pour votre aide.