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 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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" <comptabil...@olcoven.fr> 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 ?
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
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
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 ?
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 ?