Réagir au déplacement de cellule quelque soit la feuille

Bonjour le forum.

J'aurais besoin, pour une de mes macros qu'un TBOX de mon formulaire se mette à jour au déplacement de la cellule.

Facile vous allez me dire :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Le problème est que cette procédure est liée à une feuille en particulier.

Ma macro étant et devant rester utilisable sur n'importe quel classeur étant donnée qu'elle est placée dans mon dossier XLSTART. (Ce serait un peu long à vous expliquer pourquoi).

Je suis donc embêté.

A part pour me dire que ce n'est pas possible, quelqu'un a-t-il été confronté au problème et aurait une piste ?

Bonjour,

Une procédure d'évènement, si elle concerne une feuille doit être dans le module de la feuille, si elle concerne toutes les feuilles ou au moins plusieurs, elle doit être placée dans le module classeur (ThisWorkbook). Il faut y chercher la procédure d'évènement correspondant. Celle que tu indiques est :

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

Tu y as une variable supplémentaire identifiant la feuille...

Si tu veux couvrir plusieurs classeurs, un évènement niveau classeur ne concernera que le classeur dans lequel elle se trouve !

Il faut donc te situer au niveau Application. Mais il n'y a pas de module d'objet préinstallé pour l'Application, il te faut le créer en utilisant un Module de classe...

Cordialement.

Merci MFerrand

J'ai créé un module de classe et j'y ai mis le code suivant :

Option Explicit
Private WithEvents xlApp As Application

Private Sub xlApp_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
 MsgBox "Ca devrait marcher"
End Sub

Private Sub Class_Initialize()
   Set xlApp = Application
End Sub

Ensuite j'ai créé un module standard dans lequel j'ai mis le code suivant

Option Explicit
Dim ThisApplication As AppEvents

Public Sub Activer_Evenements_Application()
   Set ThisApplication = New AppEvents
End Sub

Lorsque je lance la macro Activer_Evenement_Application j'ai l'erreur suivante qui apparait :

Erreur de compilation : Utilisation incorrecte du mot clé New....

Là je sèche !

Je ne vois pas d'erreur dans ce code (et j'en ai retrouvé un que j'avais pour test, j'ai ajouté une SheetSelectionChange avec un message et j'ai bien le message après activation...) ?

Tu as bien renommé le module de classe : AppEvents ?

Quel âne!!! Non j'avais pas nommé mon module de classe AppEvents,

Du coup ca marche beaucoup mieux comme ça !

Merci MFerrand pour le coup de pouce !

Rechercher des sujets similaires à "reagir deplacement soit feuille"