VBA Utiliser un bouton suivant une variable
Résolu
Mygalys
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
Mygalys Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Mygalys Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaiterai pouvoir choisir un bouton en particulier en utilisant une variable contenant le nom de ce bouton.
Dans ma feuille excel, j'ai une multitude de boutons nommés de manière organisée suivant leur position.
Par l'intermédiaire d'une variable string, lui donnant la valeur que je souhaite (ex: une boucle qui lui donnerait un nom incrémenté à chaque fois) je voudrais utiliser le bouton nommé tel que le contenu de cette variable.
J'espère être clair. Sinon merci de me faire un retour de vos questions pour précision.
Je souhaiterai pouvoir choisir un bouton en particulier en utilisant une variable contenant le nom de ce bouton.
Dans ma feuille excel, j'ai une multitude de boutons nommés de manière organisée suivant leur position.
Par l'intermédiaire d'une variable string, lui donnant la valeur que je souhaite (ex: une boucle qui lui donnerait un nom incrémenté à chaque fois) je voudrais utiliser le bouton nommé tel que le contenu de cette variable.
J'espère être clair. Sinon merci de me faire un retour de vos questions pour précision.
A voir également:
- VBA Utiliser un bouton suivant une variable
- Utiliser chromecast - Guide
- Comment faire une capture d'écran sur un samsung sans bouton ? - Guide
- Utiliser une tablette comme ecran pc - Guide
- Utiliser iphone comme webcam - Guide
- Bouton reinitialisation pc - Guide
5 réponses
Je ne sait pas si on peux générer des variables avec des noms séquentiels par le code
Tu peux m'en dire plus sur ce que font ces boutons
Je cherche surtout à savoir s'ils ont un effet similaire
Tu peux m'en dire plus sur ce que font ces boutons
Je cherche surtout à savoir s'ils ont un effet similaire
Oui dans l'idée ils auront une partie de code similaire.
Mais plus exactement ce n'est pas tant leur action qui m'interresse mais de pouvoir modifier le nom de ces boutons via une variable.
Un exemple imagé:
Ces boutons sont rangés on va dire sous forme de tableau; ce qui veut dire que leur position serait définie par leurs n° de ligne et de colonne. Et je voudrais les nommer de cette manière en fonction de leur position (par exemple "Bt_2_8" pour le bouton ligne 2 colonne 8). Bien sur je peux le faire à la main, seulement il y a une multitude de boutons et je sais qu'il existe une commande pour le faire grâce à un code. But je ne sais plus comment...
Mais plus exactement ce n'est pas tant leur action qui m'interresse mais de pouvoir modifier le nom de ces boutons via une variable.
Un exemple imagé:
Ces boutons sont rangés on va dire sous forme de tableau; ce qui veut dire que leur position serait définie par leurs n° de ligne et de colonne. Et je voudrais les nommer de cette manière en fonction de leur position (par exemple "Bt_2_8" pour le bouton ligne 2 colonne 8). Bien sur je peux le faire à la main, seulement il y a une multitude de boutons et je sais qu'il existe une commande pour le faire grâce à un code. But je ne sais plus comment...
On peux utiliser la fonction .Name pour changer le nom d'un bouton mais je ne voit pas comment changer tout les noms des boutons
Par exemple CommandButton28.Name = "Bt_2_8" change le nom du bouton
Mais comment faire pour changer tous leurs noms.. aucune idée :x
Une signature? Pour quoi faire?
Par exemple CommandButton28.Name = "Bt_2_8" change le nom du bouton
Mais comment faire pour changer tous leurs noms.. aucune idée :x
Une signature? Pour quoi faire?
Bonjour
Cette macro crée les boutons et les nomment en fonction de leur position Btn_2_3: bouton sur la cellule C2
attention avec les OLEobject la macro plante en mode arrêt (pas à pas)
demo:
https://www.cjoint.com/?3FBrgGUCn0t
Cette macro crée les boutons et les nomment en fonction de leur position Btn_2_3: bouton sur la cellule C2
Option Explicit Sub generer_nommer_boutons() Dim Btn As OLEObject Dim lig As Byte, col As Byte, lig_fin As Byte, col_fin As Byte Dim cptr_l As Byte, cptr_c As Byte, num As Byte Dim Target As Range 'parametres lig = 2 'ligne de départ lig_fin = 4 'ligne fin col = 2 'colonne de départ col_fin = 5 'colonne fin num = 1 For cptr_l = lig To lig_fin + 1 For cptr_c = col To col_fin Set Target = ActiveSheet.Cells(cptr_l, cptr_c) Set Btn = ActiveSheet.OLEObjects.Add("Forms.CommandButton.1") With Btn .Left = Target.Left .Top = Target.Top .Width = Target.Width - 2 .Height = Target.Height - 2 .Name = "Btn_" & cptr_l & "_" & cptr_c .Object.Caption = "blabla " & num End With num = num + 1 Next Next End Sub
attention avec les OLEobject la macro plante en mode arrêt (pas à pas)
demo:
https://www.cjoint.com/?3FBrgGUCn0t
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ca c'est ce que j'appelle une réponse !!! :D
Merci à vous d'avoir cherché, effectivement c'était pas plus compliqué. J'dirai pas honte sur moi mais presque lol C'est que ca fait un moment que je n'avais pas repris la prog de macro.
Au plaisir d'une autre question...
Merci à vous d'avoir cherché, effectivement c'était pas plus compliqué. J'dirai pas honte sur moi mais presque lol C'est que ca fait un moment que je n'avais pas repris la prog de macro.
Au plaisir d'une autre question...