Procédure Call / Application.Run

Bonjour à tous,

Je cherches à appeler des modules dans le code d'une feuille vBA

Private Sub Worksheet_Change(ByVal Target As Range)

With Activesheets

If Not Application.Intersect(Target, Cells(323, 2)) Is Nothing Then

    'NETTOYAGE ZONE

    Range(Cells(322, 4), Cells(323, 10)).Clear

        For i = 0 To 39

            If Cells(323, 2) = Sheets("DONNEES").Cells(205 + i, 19) Then

                Cells(323, 1) = Sheets("DONNEES").Cells(205 + i, 21)
                Cells(323, 3) = Sheets("DONNEES").Cells(205 + i, 20)

            End If

        Next
    Fiche = Cells(323, 3)

        Application.Run Fiche

    End If

End With

End Sub
Sub BATEN101()

With Activesheets

MsgBox ("Test BATEN101")

End With

End Sub

Voici un descriptif du code : En choisissant une valeur dans une liste déroulante, je récupère des données liées sur la feuille "données".

Ces données liées ont le nom des futurs modules à créer. Je récupère la donnée récupérée dans la variable "Fiche", puis je l'appelle avec Application.Run..

Par exemple en choisissant une valeur dans la liste déroulante, la donnée récupérée aura pour valeur "BATEN101". Le module est donc appelée BATEN101.

Le module a fonctionné le premier coup mais depuis, cela ne marche plus, j'ai systématiquement l'erreur suivante : Erreur d'exécution '1004' : Impossible d'éxécuter la macro 'BATEN101'. Il est possible qu'elle ne soit pas disponible dans ce classeur ou que toutes les macros soient désactivées."

Auriez-vous une idée du problème ?

Merci !

Bonjour,

le Sub BATEN101() est bien dans un module standard (Insertion / Module) ?
eric

Bonjour, oui un module basique.

je penses avoir solutionné le problème : j'ai nommé le module et le Sub par le même nom. En modifiant le nom du module cela semble fonctionner pour le moment

Rechercher des sujets similaires à "procedure call application run"