Userforms et commandbuttons en variable

Fermé
J0K068 Messages postés 32 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 8 mai 2018 - 8 oct. 2017 à 13:44
yg_be Messages postés 23400 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 décembre 2024 - 15 oct. 2017 à 10:55
Bonjour à toutes et tous,
depuis plusieurs jours je lis et recherche sur du VBA excel 2010 une manière de procéder à mon problème, je suis novice, je comprends doucement le langage quand il est juste mais n'arrive pas à construire ou alors ça ne fonctionne pas ...

Mes soucis : ouverture du fichier = userform1.show
il contiendra dans le temps environ 1000 commandbutton.
L'idée est de mettre en couleur ou non ces derniers suivants des actions à mener.
Cela concerne un site seveso seuil haut et je ne peux donc pas fournir le fichier qui est un plan de l'usine (désolé). Je vais donc essayer d'être le plus clair possible.
Mes commandbuttons concernent des vannes d'isolement mais des tronçons.
Ils sont renommés V1, V2, V3, ..... pour les vannes et SEG1, SEG2, SEG3 pour les segments à isoler si plusieurs vannes sont isolées.

- lorsque j'ouvre l'userform, j'aimerais mettre le dernier état backstyle et caption de ces derniers. Je pense passer par l'utilisation de cellule. Mais on n'en est pas encore là dans le soucis.
- lorsque je clic sur V3 (commandbutton), si ce dernier est transparent (ouvert) alors il ouvre userform2 (pour fermer). J'ai mis son nom dans la feuille info.B1 pour l'utiliser dans une question posée : Voulez vous fermer info!b1.value ? Ceci marche.
Cependant en cliquant sur oui (commandbutton de l'userform2), il doit agir sur le commandbutton V3 (ou en variable celui cliqué initialement ou alors la valeur de la cellule info!B1 qui se réécrit chaque fois une autre commandbutton cliquée) pour mettre userform1.V3.backstyle et caption dans l'état que je souhaite.

Je pensais utiliser (mais il ne fonctionne pas)

UserForm1("." & Sheets("info").Range("B1").Value).BackStyle = 1


J'espère être clair dans mes infos ... :/
Le problème, vu le nom de cmdbut qu'il y aura, je ne souhaite pas avoir 25000 macros, mais plutot utiliser les variables, je ne les maitrise pas malheureusement.
Merci pour votre aide.

Merci



--

1 réponse

J0K068 Messages postés 32 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 8 mai 2018
8 oct. 2017 à 14:10
A tous,
J'ai enfin au bout d'une semaine trouver ce que je voulais :
récupérer la valeur de info!B1 pour appeler un commandbutton pour changer le backstyle et le caption .... Pfiou ! mais ce n'est que le début de mes soucis vu le nombre à réaliser ... ;)
Private Sub CommandButton1_Click() 'bouton oui
monbouton = Sheets("info").Range("B1").Value
UserForm1.Controls(monbouton).BackStyle = 1
UserForm1.Controls(monbouton).Caption = monbouton
Sheets("info").Range("B1").Value = ""
Unload UserForm2
End Sub



--
0
yg_be Messages postés 23400 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 décembre 2024 1 557
15 oct. 2017 à 10:55
bonjour, peux-tu marquer comme résolu, en utilisant le lien en dessous du titre?
0