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   -
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.

5 réponses

trankill076 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   21
 
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
0
Mygalys Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
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...
0
trankill076 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   21
 
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?
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mygalys Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
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...
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
effectivement c'était pas plus compliqué

ben voyons
0
Mygalys Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Oui enfin pour être exact, ça répond pas entièrement a mon pb mais j'm'arrangerai avec ça =)

J'aurai préféré ne pas avoir à les créer et plutôt reprendre les boutons existants.
Mais bon... ;o)
0
Mygalys Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
J'avais qu'à m'y prendre tel que tu l'as montré au dessus dès le début, voila tout =)
0
Mygalys Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
ben voyons

lol j'avais pas vu ce commentaire...
MDR
Bah oui écoute, c'est une facon relativement simple, ca ne m'est pas venu du tout à l'esprit, c là le but aussi d'un forum !! Gt parti sur une autre approche, mais pas la meilleure. Donc merci à toi pour la réflexion plus logique à adopter.
0