Supprimer des Label d'un userform

Bonjour à toutes et tous,

Je créer des Label de manière dynamique avec le code suivant :

            For Each cellule2 In Range("BDDoutil!K:K")
                If cellule2 = "" Then Exit For
                If cellule2 = Range("CreaProduit").Value Then
                    Set Obj = Me.Controls.Add("forms.Label.1")
                    With Obj
                        .Top = ValY
                        .Left = ValX
                        .Width = 80
                        .Height = 15
                        .Caption = cellule2.Offset(0, -9)
                    End With
             End if
        Next

Mon problème est que je ne sais pas les supprimer dynamiquement ! Afin de charger des nouvelles infos !

Qui peux m'aider ?

Salut,

Si je suis pas completement a coté de la plaque...

Le problème est que dans ton code tu ne mets pas de nom a ton control (mis pas défaut : label1, label2 etc....)

il manque me.name = "Monlabel" dans le with

Sinon tu peux utiliser une fonction comme suit pour enlever le controls labels en fonction du caption :

Function removecontrols(CaptionControl As String)
Dim tt As Control
For Each tt In Me.Controls
    If tt.Caption = CaptionControl Then
        Me.Controls.Remove tt.Name
    End If
Next
End Function

Attention : Tu ne peux pas avoir deux objets dans la même forms avec le même nom, mais avec le même caption c'est possible... Donc dans ce cas tu supprimeras tout les control avec le même caption..

Dis moi si cela répond a ta question ?

Damien

Merci tu as exactement compris ce que je voulais. De plus ton code fonctionne très bien, je l'ai juste sortie de sa fonction pour l'intégrer à mon code

Rechercher des sujets similaires à "supprimer label userform"