Suppression de "Labels"

Bonjour à tous,

J'ai créé un petit programme qui me permet de mettre en évidence des renseignements concernant des personnes à choisir au préalable
Ces renseignements je les trouve dans une feuille ("Fiche") où ils se stockent dès que j'ai choisi le nom de la personne
Ensuite, dans un Formulaire je les fais apparaître sous forme de "Labels"
Voici mon code :

For I = 1 To nbt
                     carre = Sheets("Fiche").Range("A" & I + 1).Value
                     tombe = Sheets("Fiche").Range("B" & I + 1).Value
                Set LabelB = Me.Controls.Add("Forms.Label.1")
                 LabelB.Name = "Label" & I
                 Call presentation(LabelB, l / 8, h / 35, (2.1 + I / 2) * h / 10, l / 5) 'pour positionner les labels les uns sous les autres
                 LabelB.Caption = "Carré " & carre & " tombe " & tombe
                 LabelB.TextAlign = fmTextAlignLeft
                 LabelB.FontSize = 12
                 LabelB.BorderStyle = 0
            Next I

Tout se passe à merveille si ce n'est que :

si pour la personne suivante le nombre (exemple 3) de labels est inférieur à celui de la personne précédente (exemple 8), les 3 premiers labels de la deuxième personne écrassereront bien les 3 premiers labels de la première personne mais les 5 labels suivants ne seront pas effacés et appraîtront à la suite des nouveaux labels alors qu'ils n'ont plus rien à voir

Exemple :

Personne 1
Carré 1 tombe 1
Carré 2 tombe 2
Carré 3 tombe 3
Carré 4 tombe 10
Carré 5 tombe 20
Carré 6 tombe 25
Carré 7 tombe 30
Carré 8 tombe 35

Personne 2
Carré 1 tombe 11
Carré 2 tombe 21
Carré 3 tombe 31
Carré 4 tombe 10
Carré 5 tombe 20
Carré 6 tombe 25
Carré 7 tombe 30
Carré 8 tombe 35
les 5 derniers labels n'ont plus rien à voir, je voudrais donc pouvoir les supprimer

J'ai donc penser faire, en début de mon bout de code, "un nettoyage" des labels de la personne 1 avant d'inscrire ceux de la personne 2, mais comment faire, je n'y arrive pas
Merci pour votre aide
Jacky

Bonjour,

A+

Bonjour Bruno

D'abord merci d'avoir pris un peu de ton temps pour lire et étudier ma question

Il m'est difficile de t'envoyer l'ensemble de mon projet car il est énorme, donc j'ai écris unpetit programme qui répond exactement à la question que je me pose bien que la présentation ne soit pas des meilleures mais peu importe
En cliquant sur le bouton "GO" tu ouvres le formulaire qui reçoit les renseignements recherchés, pour cela il suffit d'appuyer sur le bouton "chercher". On obtient exactement ce que je désire c'est à dire les 8 renseignements de la personne
Recommençons en utilisant le bouton "OK", mais avant de lancer la procédure changeons de personne en modifiant les 3 premiers renseignements et en supprimant par exemple les 5 derniers renseignements de la feuille, et c'est là que le bas blesse, car si les trois premiers renseignements sont bien mis à jour les 5 suivants apparaissent encore alors qu'ils n'ont pas lieu d'être.
D'où ma question : comment créer une petite "procédure" à placer en début du code du bouton "chercher" afin de "nettoyer" l'userform avant de lancer la recherche ?

11forum.xlsm (23.12 Ko)

Bonjour à tous,

L'instruction UserForm1.hide ne fait que masquer le formulaire.

En utilisant Unload.Userform1, tu fermes le formulaire et le vide par la même occasion.

A tester...

6jacky.xlsm (21.54 Ko)

Cordialement,

bonsoir xorsankukai,

et voilà la solution toute bête et toute simple à laquelle j'aurais du penser
Un grand merci
Au plaisir lors d'autres échanges

Jacky

Rechercher des sujets similaires à "suppression labels"