Evénements sous Excel

[Résolu]
Signaler
Messages postés
8
Date d'inscription
jeudi 25 août 2005
Statut
Membre
Dernière intervention
7 août 2006
-
Messages postés
8
Date d'inscription
jeudi 25 août 2005
Statut
Membre
Dernière intervention
7 août 2006
-
Bonjour!

J'aimerais que lors de la création d'une nouvelle feuille sous Excel (càd à l'événement Workbook_NewSheet), cette nouvelle feuille réagisse à l'événement Worksheet_Change, sans que l'utilisateur du classeur doive rien toucher.
Le code de cet événement est un simple appel de procédure qui tient donc en une seule ligne.

En fait ça revient à faire écrire du code VBA par une macro.

Est-ce possible?

Merci !

7 réponses

Messages postés
956
Date d'inscription
lundi 30 mai 2005
Statut
Membre
Dernière intervention
21 août 2014
1
Bonjour,


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


End Sub

-- Pourquoi faire simple quand on peut faire compliquer --
Messages postés
61
Date d'inscription
mercredi 14 janvier 2004
Statut
Membre
Dernière intervention
14 septembre 2006

bonjour,


telle que je comprends ta question, il s'agirait de pouvoir créer dans un classeur une nouvelle feuille qui contiendrait la macro Worksheet_Change que tu aurait définie ?

en ce cas, il te suffit de créer une feuille modèle avec ta macro Worksheet_Change et de la copier au lieu de créer une nouvelle feuille
Messages postés
956
Date d'inscription
lundi 30 mai 2005
Statut
Membre
Dernière intervention
21 août 2014
1
L'événement que je t'ai indiqué suffit largement...

-- Pourquoi faire simple quand on peut faire compliquer --
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

Eldim a tout juste, en créant une nouvelle feuille (par code), en la sélectionnant, tu génères l'appel à l'évènement Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Par contre, pour insérer du code comme le suggère Bipou, il faut utiliser la bibliothèque (à référencer au préalable) VBIDE, puis la syntaxe (de mémoire, à vérifier) :
VBProject.VBComponents.Module("Feuil6").CodeModule.InsertLines "Ton code à insérer"

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
Messages postés
956
Date d'inscription
lundi 30 mai 2005
Statut
Membre
Dernière intervention
21 août 2014
1
(Merci de cliquer sur réponse acceptée...)

-- Pourquoi faire simple quand on peut faire compliquer --
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Ca va être dur, il s'est déconnecté juste après la pose de son topic.
Il viendra peut-être dans la soirée..

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
Messages postés
8
Date d'inscription
jeudi 25 août 2005
Statut
Membre
Dernière intervention
7 août 2006

Arf, j'avais pas repéré cet événement...


Merci beaucoup!


Je retiens aussi le truc pour écrire du code-