OVH Cloud OVH Cloud

Copie "this woorkbook" help SVP

3 réponses
Avatar
Patrice FY
Hello,

Je tourne en rond, mon probl=E8me est le suivant:
J'ai un classeur avec une macro Private Sub workbook_open()
dans "thisworkbook" qui affiche un message =E0 l'ouverture.=20
Dans ce classeur j'ai trois feuilles, j'ai cr=E9e un bouton=20
qui sur click copie ma feuille 1 uniquement dans un=20
nouveau classeur, comment faire pour copier en meme temps=20
ma macro =E0 l'ouverture qui est dans "this workbook" en=20
meme temps ou copier mon classeur complet moins les=20
feuilles 2 et 3 ???
Merci de votre aide

3 réponses

Avatar
papou
Bonjour
Voici quelque chose qui te permettra d'avancer :
Cette procédure permet de copier l'ensemble du code situé dans le classeur
qui contient le code vers le classeur actif.
Sub AddProcedure()
'Ajouter une référence à "Microsoft Visual Basic For Applications
Extensibility 5.3"
Dim VBCodeModAW As CodeModule
Dim VBCodeModTW As CodeModule
Dim LineNumAW As Long
Dim LineNumTW As Long
Set VBCodeModAW ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
Set VBCodeModTW ThisWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
LineNumTW = VBCodeModTW.CountOfLines
With VBCodeModAW
LineNumAW = .CountOfLines + 1
.InsertLines LineNumAW, VBCodeModTW.Lines(1, LineNumTW)
End With
End Sub

Cordialement
Pascal

"Patrice FY" a écrit dans le message
de news:8a9301c4965d$3c0b1260$
Hello,

Je tourne en rond, mon problème est le suivant:
J'ai un classeur avec une macro Private Sub workbook_open()
dans "thisworkbook" qui affiche un message à l'ouverture.
Dans ce classeur j'ai trois feuilles, j'ai crée un bouton
qui sur click copie ma feuille 1 uniquement dans un
nouveau classeur, comment faire pour copier en meme temps
ma macro à l'ouverture qui est dans "this workbook" en
meme temps ou copier mon classeur complet moins les
feuilles 2 et 3 ???
Merci de votre aide
Avatar
michdenis
Bonjour Patrice,

Essaie ceci :

'---------------------------
Sub Copier_Feuille_Et_ThisWorkbook()
Dim N As String

N = ThisWorkbook.Name
Application.ScreenUpdating = False
With ThisWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
code = .Lines(1, .CountOfLines)
End With

'Procédure pour copier ta feuille
Worksheets("Feuil1").Copy

With ActiveWorkbook.VBProject.VBComponents("Thisworkbook").CodeModule
.AddFromString code
End With
Workbooks(N).Activate

End Sub
'------------------------------


Salutations!



"Patrice FY" a écrit dans le message de
news:8a9301c4965d$3c0b1260$
Hello,

Je tourne en rond, mon problème est le suivant:
J'ai un classeur avec une macro Private Sub workbook_open()
dans "thisworkbook" qui affiche un message à l'ouverture.
Dans ce classeur j'ai trois feuilles, j'ai crée un bouton
qui sur click copie ma feuille 1 uniquement dans un
nouveau classeur, comment faire pour copier en meme temps
ma macro à l'ouverture qui est dans "this workbook" en
meme temps ou copier mon classeur complet moins les
feuilles 2 et 3 ???
Merci de votre aide
Avatar
michdenis
Ce serait une bonne idée de déclarer la variable

Dim Code as String 'oublié


Salutations!


'---------------------------
Sub Copier_Feuille_Et_ThisWorkbook()
Dim N As String

N = ThisWorkbook.Name
Application.ScreenUpdating = False
With ThisWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
code = .Lines(1, .CountOfLines)
End With

'Procédure pour copier ta feuille
Worksheets("Feuil1").Copy

With ActiveWorkbook.VBProject.VBComponents("Thisworkbook").CodeModule
.AddFromString code
End With
Workbooks(N).Activate

End Sub
'------------------------------


Salutations!



"Patrice FY" a écrit dans le message de
news:8a9301c4965d$3c0b1260$
Hello,

Je tourne en rond, mon problème est le suivant:
J'ai un classeur avec une macro Private Sub workbook_open()
dans "thisworkbook" qui affiche un message à l'ouverture.
Dans ce classeur j'ai trois feuilles, j'ai crée un bouton
qui sur click copie ma feuille 1 uniquement dans un
nouveau classeur, comment faire pour copier en meme temps
ma macro à l'ouverture qui est dans "this workbook" en
meme temps ou copier mon classeur complet moins les
feuilles 2 et 3 ???
Merci de votre aide