Appeler procédure à partir d'un nom variable

Résolu
TonyLucky -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous,

Je sèche... et sollicite votre aide !

Dans un UF, j'ai plusieurs toogle buttons. A l'ouverture du UF, je veux que les TB se mettent à jour en fonction de leur valeur, stockée dans un onglet.
a) je récupère la valeur. OK
b) j'ai créé une variable reprenant le nom de la procédure à lancer (NomSub) :
Private Sub TBut_1_Click (de 1 à 5)
c) je lance la procédure. Avec Call, j'ai le message "sub, function ou property attendue". Avec Run, j'ai le message "impossible de trouver la macro" + le nom, qui est correct

Voici mon code :
Private Sub UserForm_Initialize()
Dim NomSub As String
With Sheets("Info_User")    
    For i = 1 To 5
    Me.Controls("TBut_" & i).Value = .Range("N" & i + 31)
    NomSub = "TBut_" & i & "_Click"    
    Call NomSub
    Next i
End With
end sub

Si quelqu'un à une idée, d'avance merci.
Tony

EDITT: ajout de la coloration syntaxique

2 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,

    Je ne comprends pas bien l'utilité, mais, remplace :
    Call NomSub

    par :
    CallByName Me, NomSub, VbMethod 


    Ensuite, tes
    Private Sub TBut_X_Click()
    doivent être déclarées au niveau Module, donc supprime les Private...

    Private Sub TBut_1_Click()

    devient :
    Sub TBut_1_Click()

    0
  2. TonyLucky
     
    Bonjour,

    Merci de m'avoir répondu et pardon de mon retard, mais j'étais en déplacement.
    Ta solution fonctionne parfaitement. Donc, deux fois merci ! J'avais essayé le callbyname, mais en gardant private sub, ce qui, bien évidemment, ne fonctionnait pas...

    Pour répondre à ta question sur l'utilité : cela me permet de déclencher des évènements d'affichage liés à la valeur du toogle à l'initialisation du UF.

    Bonne journée,
    Tony
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Pas de souci.
      Et... de rien.
      Bonne continuation, n'hésite pas.
      @++
      0