Boucle en utilisant des label

Bonjour !

J'ai plus de 30 label ==> lbl1, lbl2.... etc

J'essaie de faire deux fonctions, l'une qui met tous les labels en visible = false, et l'autre en visible = true.

Bien sur, je peux faire la manière brute, de taper lbl1.visible = true autant de fois que j'ai de label xD mais euuu..c'est pas très optimisé tout ça ^^

Donc j'avais testé :

dim i as integer

for i = 1 to 30 step 1

lbli.visible = true

next i

Mais comme vous vous en doutez cela ne marche pas...

j'ai tenté

Dim lbl As OLEObject

For Each lbl In Me.OLEObjects

If TypeName(lbl.Object) = "Label" Then lbl.visible = Not lbl.visible

Next

Mais sachant que j'ai également 2 boutons, l'un pour les metter visible et l'autre non, cette fonction ne fonctionne que sur un bouton, et ne fonctionne pas correctement.

Le système avec le compteur serait bien mais je n'arrive pas

Ah oui, ce n'est pas sur une form ^^

Merci d'avance pour vos réponses

tu peux joindre ton fichier stp?

Désolé de ne répondre que maintenant ^^

Voilà le fichier :

https://www.excel-pratique.com/~files/doc/Fiche_de_calcul_photometrique.zip

C'est très gentil de votre part merci

c une blaqgue? Ne le prends pas mal, mais je ne comprends rien à ton fichier....

Je ne trouve pas tes labels... sur quel onglet? mets quelques annotations...

tout le monde n'est pas issus d'une école de génie civile (enfin je pense que c ça....) moi perso c la finance alors les calculs photométriques d'une chaussée, je ne connais pas trop....

je viens d'essayer ta macro sur mon ordi et elle fonctionne très bien, je ne vois pas ce que tu souhaites....

lol oui je travaille dans un bureau d'études sur l'éclairage.

Personnellement j'ai mis deux heures à comprendre ce truc avec un gars qui me l'explique...

Les labels sont de base invisibles. Le petit tableau au bas de la grille donne le nombre de label à afficher.

On ne touche uniquement au "e". En changeant le "e" le "N" est modifié, en 3, 5, 7 etc jusque 19.

C'est le nombre de label à afficher Je ne vais pas expliquer leur position ce serait trop long lol. Donc une fois que le N a changé, on clique sur le bouton exécuter en dessous du tableau et ça met les label concernés en visible. Mais il me faut pouvoir les remettre tous invisibles ou tous visibles etc.. Et vu que au total j'aurai exactement 78 label (et oui...) c'est long pour moi, pour le pc etc de faire lbl1.visible=true et ce 78 fois -_-

Je sais c'est compliqué à comprendre...Merci quand même !

En clair ce que je souhaiterais :

Remplacer

lbl1.visible = False

lbl2.visible = False

lbl3.visible = False

lbl4.visible = False

lbl5.visible = False

lbl6.visible = False

lbl7.visible = False

lbl8.visible = False

lbl9.visible = False

lbl10.visible = False

lbl11.visible = False

lbl12.visible = False

lbl13.visible = False

lbl14.visible = False

lbl15.visible = False

lbl16.visible = False

lbl17.visible = False

lbl18.visible = False

lbl19.visible = False

lbl20.visible = False

lbl22.visible = False

lbl21.visible = False

lbl23.visible = False

lbl24.visible = False

lbl25.visible = False

lbl26.visible = False

Par une fonction qui le fait remarquez que j'en suis que à 26 sur 78 xD

ce que je peux te conseiller déjà pour aller plus vite pour changer les "false":

sélectionnes les lignes dans visual basic que tu veux modifier,

tu fais ctrl+f.

tu obtiens une boite de dialogue.

cliques sur remplacer.

dans rechercher tu mets false

et remplacer par: true

déjà en 30 secondes tu as remplacé tes 40 false en true.

Merci

Rechercher des sujets similaires à "boucle utilisant label"