Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Recopie de code

2 réponses
Avatar
Michel MTO
Bonjour à tout le monde,

Voilà avec un code, situé dans un module standard, j'insère des feuilles en
automatique.
Je voudrais savoir si c'est possible, au moment où insère une nouvelle
feuille, de rapatrier le code d'une autre feuille déjà existante sur ce même
classeur.
Peut-être avec une procédure évènementielle dans ThisWorkbook ?

Merci pour vos réponses

Michel MTO

2 réponses

Avatar
LSteph
Bonjour,

Pas obligé de faire cela, s'agissant du code feuille, il est
généralement lié aux procèdures évenementielles de la feuille et cela
se gère aussi dans thisworkbook. Sélectionner Workbook dans déroulant
Haut gauche du Thisworkbook. Puis voir dans ce dernier parmi les
évenements de classeur ceux applicables à l'ensemble des feuilles dans
le déroulant situé en haut à droite. Workbook_SheetChange,
Workbook_SheetActivate... ??etc
Voici très simple exemple qui réagit à toutes les feuilles sans
besoin qu'elles mêmes contiennent de code:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
MsgBox "Je suis la feuille " & Sh.Name
End Sub

Attention si un evennement est déjà gèré au niveau thisworkbook pou r
l'ensemble des feuilles il faudra enlever ce code de la feuille elle
même.
Pour écarter certaines feuilles un if ou un select case, peuvent faire
l'affaire,.

Cordialement.

--
lSteph



On 15 oct, 17:14, "Michel MTO" wrote:
Bonjour à tout le monde,

Voilà avec un code, situé dans un module standard, j'insère des feu illes en
automatique.
Je voudrais savoir si c'est possible, au moment où insère une nouvell e
feuille, de rapatrier le code d'une autre feuille déjà existante sur ce même
classeur.
Peut-être avec une procédure évènementielle dans ThisWorkbook ?

Merci pour vos réponses

Michel MTO


Avatar
isabelle
bonjour Michel,

il faudra modifier le nom de Feuil1 et Feuil2 selon le cas,

Sub CopiDeCode()
Dim S As String
With ThisWorkbook.VBProject.VBComponents("Feuil1").CodeModule
S = .Lines(1, .CountOfLines)
End With

With ThisWorkbook.VBProject.VBComponents("Feuil2").CodeModule
.AddFromString S
End With
End Sub

isabelle


Michel MTO a écrit :
Bonjour à tout le monde,

Voilà avec un code, situé dans un module standard, j'insère des feuilles en
automatique.
Je voudrais savoir si c'est possible, au moment où insère une nouvelle
feuille, de rapatrier le code d'une autre feuille déjà existante sur ce même
classeur.
Peut-être avec une procédure évènementielle dans ThisWorkbook ?

Merci pour vos réponses

Michel MTO