Macro pour créer un classeur contenant une macro [VBA] - VB/VBA/VBS - Programmation
Marsh Posté le 22-10-2006 à 09:49:52
Bonjour,
Clic droit sur l'onglet :
Déplacer ou Copier + Cocher Créer une copie
A+
Marsh Posté le 22-10-2006 à 10:07:49
Merci pour ta réponse, mais ma question était incomplète.... ;-)
Je souhaiterais, à partir d'une macro de la feuille A, créer une nouvelle feuille B, contenant une macro "BDC" de la feuille A...
Merci par avance
Marsh Posté le 22-10-2006 à 10:26:24
Bonjour,
Nombreuses réponses possible selon l'endroit ou tu veux mettre ta copie, (en premier, en dernier, après ou avant la feuille A...)
Utilise l'enregisteur de macro !
Une possibilité :
Code :
|
A+
Marsh Posté le 22-10-2006 à 10:37:31
Ca avance.. .. Merci...
Je me suis vraiment mal exprimé dans ma demande...
SI je souhaite déplacer la feuille A dans un nouveau classeur et en récupérant un module macro qui s'appelle BDC...
C'est la seule étape qui me manque pour boucler mon boulot....
Merci par avance
Marsh Posté le 22-10-2006 à 11:04:21
Bonjour,
http://forum.hardware.fr/hardwaref [...] 7257-1.htm
j'ai cru voir un rapport avec ton problème.
me trompe-je?
Cordialement
Marsh Posté le 22-10-2006 à 11:14:06
Bonjour,
Non tu ne te trompes pas, mais j'ai des problèmes pour mettre cette macro en service...
J'ai une erreur avec cette ligne
With ThisWorkbook.VBProject.VBComponents("Module2" ).CodeModule
dans le module suivant :
Dim NewM As Object, NewCode As String
' Stockage du code du module "exporter" du classeur maitre
With ThisWorkbook.VBProject.VBComponents("Module2" ).CodeModule
NewCode = .Lines(1, .CountOfLines)
End With
Merci par avance pour votre coup de main....
Marsh Posté le 22-10-2006 à 13:37:39
Bonjour,
rien à voir avec ton PB mais
l'instruction
Newcode = .Lines(1, .CountOfLines)
est considèrée comme Virus potentiel par Antivirus ORANGE et je ne peux pas sauvegarder le.xls de test. Je vais voir si quelqu'un a une solution.
pour ton PB j'ai testé le module et il fonctionne, il serait bon que tu mettes ici l'ensemble de ta séquence si c'est possible.
Cordialement.
Je vais voir comment contourner l'excès de sécurité de mon antivirus.
Marsh Posté le 22-10-2006 à 13:51:00
seniorpapou a écrit : Bonjour, |
Dans un classeur, j'ai plusieurs feuilles dont une qui s'appelle Maquette_Transfert
Pour créer un nouveau classeur, j'utilise ce code... qui répond à mon attente.
Sheets("Maquette_Transfert" ).select
Sheets("Maquette_Transfert" ).copy
Dans le classeur initial, j'ai un module de macro qui s'appelle Module2 et que j'aimerais bien transférer dans le nouveau classeur.
Un grand merci pour le temps que tu passes sur mon problême...
Marsh Posté le 22-10-2006 à 14:53:35
RE bonjour,
est-ce que ceci fonctionne? en remplaçant les noms des sheets et du module
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 22/10/2006 par PAPOU
'
Dim NewM As Object, NewCode As String
' Stockage du code du module "exporter" du classeur maitre
With ThisWorkbook.VBProject.VBComponents("module1" ).CodeModule
NewCode = .Lines(1, .CountOfLines)
End With
Sheets("maq" ).Select
Sheets("maq" ).Copy
' Ajout d'un module au CLASSEUR ACTIF
Set NewM = ActiveWorkbook.VBProject.VBComponents.Add(1)
With ActiveWorkbook.VBProject.VBComponents(NewM.Name).CodeModule
' Le DeleteLines sert à éviter éviter d'avoir 2 fois Option Explicit
' si la déclaration explicite est cochée dans les préférences
'sans effet si l'option n'est pas cochée
.DeleteLines 1, .CountOfLines
.AddFromString NewCode
End With
End Sub
Cordialement
Marsh Posté le 22-10-2006 à 15:14:20
seniorpapou a écrit : |
J'ai remplacé "module1" par "Commande" le nom de mon module.
Il me met la ligne en jaune avec comme message "Erreur 1004 - L'accès par programme au projet VB n'est pas fiable"
Du coup, je n'ai pas pu tester les lignes suivantes.
Pas de soucis, le module est bien nommé de la sorte et est bien présent dans le fichier.
Qu'en penses-tu ?
Merci par avance...
Marsh Posté le 22-10-2006 à 15:34:29
Dans excel:
outils->macro->sécurité onglet sources fiables cocher les deux cases
Cordialement
Marsh Posté le 22-10-2006 à 16:08:58
seniorpapou a écrit : Dans excel: |
YYEEESSSSSSSSS ! ! ! ! ! !! Ca marche....
Un grand merci pour ta colaboration et ta patience....
Encore un petit point... ce fichier va être amené à être mis en place de façon autonome par des utilisateurs.
Peut-on modifier par une macro cette sécurité ?
J'ai tenté en automatique, çà n'a pas l'air de fonctionner....
Enfin s'il n'y a que çà, ce ne sera pas bien grave...une petite notice et le tour sera joué...
Merci encore, et vraiment très sympa de ta part, d'avoir passer du temps sur mon cas...
A+
Olivier
Marsh Posté le 22-10-2006 à 16:37:45
ReplyMarsh Posté le 22-10-2006 à 18:22:52
seniorpapou a écrit : Jamais vu pour ma part. |
Pas grave, c'est un détail...
Bonne soirée et merci.
Marsh Posté le 22-10-2006 à 01:26:37
Bonjour,
Je souhaiterais, à partir d'une feuille A, créer un nouveau classeur B, contenant une macro "BDC" de la feuille A...
Est-ce clair et possible ?
Merci par avance pour votre aide...je ne suis pas un spécialiste de VBA
A+
Olivier M
Message édité par titeuf220966 le 22-10-2006 à 13:58:10