Evénements sous Excel

Résolu
Mithrandiiir Messages postés 8 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 7 août 2006 - 4 août 2006 à 14:10
Mithrandiiir Messages postés 8 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 7 août 2006 - 7 août 2006 à 07:43
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

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


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


End Sub

-- Pourquoi faire simple quand on peut faire compliquer --
3
cs_bipou Messages postés 61 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 14 septembre 2006
4 août 2006 à 14:35
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
0
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
4 août 2006 à 14:38
L'événement que je t'ai indiqué suffit largement...

-- Pourquoi faire simple quand on peut faire compliquer --
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
4 août 2006 à 16:04
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"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
4 août 2006 à 16:35
(Merci de cliquer sur réponse acceptée...)

-- Pourquoi faire simple quand on peut faire compliquer --
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
4 août 2006 à 16:45
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"
0
Mithrandiiir Messages postés 8 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 7 août 2006
7 août 2006 à 07:43
Arf, j'avais pas repéré cet événement...


Merci beaucoup!


Je retiens aussi le truc pour écrire du code-
0
Rejoignez-nous