Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Supprimer Macro VBA à partir d'une macro

gus1985, le dimanche 25 février 2007 à 21:05:41
Bonjour à tous,

Je débute sous VBA et je cherche à copier une page d'un classeur excel dans un nouveau fichier à partir d'une macro VBA et que dans le nouveau fichier créé toutes les macros soient supprimées. et le tout en VBA...

Merci de votre aide

Guillaume
Configuration: Windows XP
Internet Explorer 7.0
Répondre à gus1985  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
my_name, le dimanche 25 février 2007 à 21:51:01
salut je peux peut etre t'aider, mais je ne comprend pas ton objectif, il est facile de copier des données d'une table pour les transposer vers une autre mais pourquoi parle tu de supprimer des macros?
Répondre à my_name

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gus1985, le dimanche 25 février 2007 à 22:23:57
En fait j'ai un fichier excel type (original). Dans celui-ci je veux juste remplir les cases vides puis l'enregistrer dans un nouveau fichier afin de ne pas modifier l'original. Dans le nouveau fichier crée je n'aurai plus besoin de cette macro et par conséquent j'aimerais qu'elle se supprime automatiquement. J'ai donc consulté le forum dans lequel il y avait déja un sujet semblable mais avec une méthode qui ne marche pas! ( supprimer macro excel )

A coté la macro me permet d'enregistrer des valeurs de ce fichier dans un 3ieme fichier pour des statistiques communes a ts les fichiers générés à partir de cet original.

La macro ne bug pas et copie ma feuille dans un nouveau document, les valeurs dans le 3ieme fichier mais il ne supprime pas la macro du nouveau fichier.
Voila le code:

Private Sub CommandButton3_Click()

Dim Wbk1 As Workbook, Wbk2 As Workbook
 

Set Wbk2 = Workbooks.Open(Filename:="C:\Documents and Settings\...\Statistiques.xls") 'Si tes classeurs sont fermés
 
Set Wbk1 = ThisWorkbook ' si le classeur est celui ou se trouve ton code
 
 
'et ensuite tu fais tes collages de type :
 

fin = Wbk2.Worksheets("Données").Range("a65535").End(xlUp).Row 'trouve la derniere ligne ecrite de  la colonne
fin = fin + 1
Wbk2.Worksheets("Données").Cells(fin, 1) = Wbk1.Worksheets("Facture 01").Cells(22, 2)
Wbk2.Worksheets("Données").Cells(fin, 2) = Wbk1.Worksheets("Facture 01").Cells(9, 4)
Wbk2.Worksheets("Données").Cells(fin, 3) = Wbk1.Worksheets("Facture 01").Cells(32, 6)
Wbk2.Worksheets("Données").Cells(fin, 7) = Wbk2.Worksheets("Données").Cells(fin, 3) - Wbk2.Worksheets("Données").Cells(fin - 1, 7)

Dim NomSource$, CheminDest$, NomDest$
Dim VBC As Object

NomSource = "essai facture VBA.xls" 'à adapter
CheminDest = "C:\Documents and Settings\...\" 'à adapter
NomDest = "Essai.xls" 'à adapter

Workbooks(NomSource).SaveAs CheminDest & NomDest

With ActiveWorkbook.VBProject
'cette partie du code est de Laurent Longre
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove VBC
End If
Next VBC 'LL
End With

Application.Quit
SendKeys "%O"


End Sub
Répondre à gus1985

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gus1985, le dimanche 25 février 2007 à 22:29:17
Et j'aimerais que copier la feuille dans un nouveau fichier, copier certaines valeurs dans le 3ieme Fichier, supprimer la macro (et son UserForm) dans le nouveau fichier se fasse a partir d'un click dans l'original...
Je ne sais pas si je suis assez clair?
Répondre à gus1985

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 ronanry, le jeudi 17 janvier 2008 à 19:32:23
ca marche parfaitement comme code, seul 2 choses sont a "mettre en place"

comme précisé sur le lien que tu cite :
Pour utiliser ce code, il vous faudra charger une référence supplémentaire dans VBE.
Sous Excel, appeller l'éditeur :
Alt F11 //Outils/Références…
Cocher l'option :
Microsoft Visual Basic for Applications Extensibility

autre chose qui n'est pas précisé (mais que tu trouve facilement si tu regarde l'aide d'excel lorsque le bug arrive)
il faire tools\macro\security
dans la fenetre qui s'ouvre; selectionner le deuxieme onglet
et cocher la case "trust access to visual basic project" (désolé au taff j'ai que la version english d'excel....)
Répondre à ronanry
Supprimer une feuille excel par vba (Résolu)Bonjour, Je souhaite avoir de l'aide pour supprimer une feuille excel par macro VBA. j'ai mis le code suivant: Sheets("Feuil2 (2)").Delete mais il ya la fenêtre qui me demande de valider la suppréssion. Y-a t-il un moyen de valider cette... www.commentcamarche.net/forum/affich-6995668-supprimer-une-feuille-excel-par-vba
[EXCEL] VBA insertion date modif de feuille (Résolu)Bonjour, J'essais d'insérer une macro VBA qui me permettrais d'afficher la date des dernières modifications effectuées dans une feuille en particulier d'un classeur Excel qui en contient trois. J'ai essayé ceci : Dans This... www.commentcamarche.net/forum/affich-3327905-excel-vba-insertion-date-modif-de-feuille
Piloter word depuis excel (Résolu)Bonjour, je suis bloquée depuis plusieurs jours sur un problème. j'ai besoin de piloter Word à partir des macro VBA d'Excel pour ouvrir un fichier existant, le parcourir jusqu'à trouver la fin, puis y copier des plages de cellules... www.commentcamarche.net/forum/affich-1216332-piloter-word-depuis-excel
[WLM] Supprimer le dossier de partage du poste de travailSUJET CONCERNANT WINDOWS LIVE MESSENGER 8 A l'installation de Windows Live Messenger, un "dossier de partage" est créé dans le poste de travail, ce qui permet de partager plusieurs documents avec certains contacts. Pour ceux qui n'utilisent pas... www.commentcamarche.net/faq/sujet-4456-wlm-supprimer-le-dossier-de-partage-du-poste-de-travail
[VBA Excel] Supprimer les colonnes vides (Résolu)Bonjour, J'ai une feuille excel avec des colonnes vides. Je souhaiterai automatiser leur suppression en VBA. Ces colonnes peuvent être n'importe ou et le nombre de ligne est variable. Merci www.commentcamarche.net/forum/affich-2317639-vba-excel-supprimer-les-colonnes-vides
Enregistrement sous un autre nom (Résolu)Bonjour Alors voila je suis en train de mettre en place une macro VBA qui permet la création d'un classeur Excel à partir d'un autre classeur. A la fin de la macro, cette dernière enregistre une copie dans un répertoire sous un nom prenant... www.commentcamarche.net/forum/affich-6080057-enregistrement-sous-un-autre-nom
[VBA Word] : case à cocher (Résolu)Bonjour, Je galère avec Word, j'aimerais réaliser une macro VBA, mais je n'y connais rien... Voici ce que j'aimerais faire : dans un document Word, j'ai plusieurs tableau représentant chacun un test. Chaque test dispose de trois... www.commentcamarche.net/forum/affich-3616449-vba-word-case-a-cocher
Télécharger JeditEditeur de texte capable de supporter la majeure partie des langages de programmation (perl,java,php,c,asp, etc.) et proposant des fonctionnalités avancées de coloration syntaxique, de support de l'Unicode, etc. www.commentcamarche.net/telecharger/telecharger-29-jedit
Toutes les réponses pour « Supprimer Macro VBA à partir d'une macro »