Macro activée depuis feuille.

G

gg

Guest
Bonjour,

Depuis une feuille j'aimerais activer les macros d'un module en fonction du contenu d'une cellule de la dite feuille, un peu comme ci-dessous :

Sub Choix()
If Range("B5") = 1 Then
Execute. Macro1
If Range("B5") = 2 Then
Execute. Macro2
etc...
End If
End Sub

Pouvez-vous me dire ce qui doit permettre à "Execute. Macro1" d'être opérant.

Remerciements et bonne journée.
 
G

gg

Guest
Bonjour,
Et merci Sylvain.

J'ai modifié mon code, sans résultat. Voici ce qu'il en est pour le cas où cela soit adaptable.
Dans le module de feuille:

Sub Choix()
Select Case Range("B5").Value
Case 1
Call reg1
Case 2
Call reg2
etc...
End Select
End Sub

Dans Module1 les macros reg1, reg2. etc...

A noter que les macros fonctionnest parfaitement depuis la feuille de calcul.

Bonne soirée.
 
@

@+Thierry

Guest
Bonjour GG, Sylvain, le Forum

Si j'ai bien compris le souci de GG est surtout de capter l'évènement lors d'un changement de sa cellule B5...

Ici je propose une macro évènementielle à placer dans le Private Module de la feuille en question, ce qui la lancera automatiquement à chaque changement.

Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Address = "$B$5" Then

      Select Case Target.Value
         Case 1: reg1
         Case 2: reg2
         Case 3: reg3
         Case 4: reg4
         Case Else: MsgBox "Non Valide", vbCritical
      End Select
   End If
End Sub

On notera que le statement Call n'est pas impératif pour lancer une Sub.

Bon Après Midi
@+Thierry
 

Discussions similaires

Réponses
7
Affichages
371

Statistiques des forums

Discussions
312 329
Messages
2 087 325
Membres
103 516
dernier inscrit
René Rivoli Monin