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 !