Déclencher une macro avec un deuxième bouton

Dans une feuille j'ai un bouton BtnTirage qui fonctionne bien,je voudrais savoir s'il est possible de déclencher cette macro à partir d'un autre bouton sur une autre feuille?

Merci pour votre aide

Option Explicit
'

Private Sub BtnTirage_Click()
Dim MMax As Long, LMax As Long, TRésult(), L As Long, M As Long, C As Long

Rem. ——— Teste si le tableau Tirage a pu être garni (en essayant).
If TirageOK(NbJInscr:=Me.[JMax].Value, NbTours:=Me.[MMax].Value, NbJEq:=1) Then

   Rem. ——— Versement du tableau Tirage vers un tableau de valeurs de cellules.
   MMax = UBound(Tirage, 1) ' Nombre de tours.
   LMax = UBound(Tirage, 2) ' Nombre de lignes.
   ReDim TRésult(1 To LMax, 1 To 2 * MMax)
   For L = 1 To LMax: For M = 1 To MMax: For C = 1 To 2
      If Tirage(M, L, C) <> 0 Then TRésult(L, 2 * (M - 1) + C) = Tirage(M, L, C)
      Next C, M, L

   Rem. ——— Déchargement du tableau TRésult vers la plage souhaitée.
   ValeurPlageAjustée(Me.[Rencontre], -2, 0, 2) = TRésult
   '        Remarque: vous n'êtes pas obligé de le faire comme ça.
   End If
Me.[A1].Select
End Sub

Bonjour Joco7915,

Si le bouton est un contrôle ActiveX, il faut que tu externalises le code dans un module et que tu appelles ce code à partir des 2 boutons (voir exemple ci-dessous).

Ce code est non testé et il faut vérifier que ton code est compatible avec l'appel sur une feuille différente. Si le code s'applique à la feuille active, à priori ça peut le faire mais s'il ne s'applique pas à la feuille active, il faut retoucher le code

Cdlt,

Cylfo

Option Explicit
'
' Dans la 1ère feuille
Private Sub BtnTirage_Click()
    FaireTirage
End Sub

' Dans la 2ème feuille
Private CommandButton1_Click()
    FaireTirage
End Sub

' Dans un module
Sub FaireTirage()
Dim MMax As Long, LMax As Long, TRésult(), L As Long, M As Long, C As Long

Rem. ——— Teste si le tableau Tirage a pu être garni (en essayant).
If TirageOK(NbJInscr:=Me.[JMax].Value, NbTours:=Me.[MMax].Value, NbJEq:=1) Then

   Rem. ——— Versement du tableau Tirage vers un tableau de valeurs de cellules.
   MMax = UBound(Tirage, 1) ' Nombre de tours.
   LMax = UBound(Tirage, 2) ' Nombre de lignes.
   ReDim TRésult(1 To LMax, 1 To 2 * MMax)
   For L = 1 To LMax: For M = 1 To MMax: For C = 1 To 2
      If Tirage(M, L, C) <> 0 Then TRésult(L, 2 * (M - 1) + C) = Tirage(M, L, C)
      Next C, M, L

   Rem. ——— Déchargement du tableau TRésult vers la plage souhaitée.
   ValeurPlageAjustée(Me.[Rencontre], -2, 0, 2) = TRésult
   '        Remarque: vous n'êtes pas obligé de le faire comme ça.
   End If
Me.[A1].Select
End Sub

Bonjour

Merci pour ton aide

Il faut complètement modifier le code car ça bug partout en ajoutant un deuxième bouton.

Je ferais avec un seul bouton

Bonne journée

bonjour, vous mettez ceci pour votre 2ième bouton dans votre deuxième feuille. Il est important d'utiliser le "codename" de la première feuille (donc la partie entouré de rouge) et il faut supprimer "Private" devant Private Sub BtnTirage_Click(), donc Sub BtnTirage_Click()

image

Bonjour BsAlv

Merci pour ton aide

Bonne soirée

Rechercher des sujets similaires à "declencher macro deuxieme bouton"