512 visiteur(s) en ligne
Date actuelle : 26-12-2024, 12:51 PM Bienvenue, Visiteur ! ( Identification S'enregistrer )







 
Supprimer macro sous excel 2003
 
Note de cette discussion :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Auteur Message
milo18 Hors ligne
Newbie
*

Messages : 8
Inscription : Feb 2008
Réputation : 0
Message : #1
Supprimer macro sous excel 2003
Bonjour à toutes et tous !!!
Voilà mon problème :
J'ai sous excel 2000 crée une macro sur ma feuille tot.xls qui sauvegarde cette feuille mais en supprimant les macros qu'elle contient !!! Et ça marche !!!
Seulement je suis passé à excel 2003 et là ça va plus il me met erreur d'éxécution 1004 et j'ai
For Each VBComp In ActiveWorkbook.VBProject.VBComponents en jaune !
Je ne sais quoi faire !!
Si quelqu'un peut m'aider MERCI d'avance !!!
Confused Sad Confused

avant de juger les autres regardes-toi !!!
20-02-2008 16:19 PM
Envoyer un email à cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Troll Hors ligne
Trolls' master
******

Messages : 15 818
Inscription : Mar 2006
Réputation : 21
Message : #2
 
Salut et :bienvenue: à toi parmi nous Wink
Ta macro, tu l'as tapée c'est bien cela ?

Pourrai-tu nous donner le code de ta macro, qui entraîne cette erreur d'éxécutio, stp ?

Un poste sans accent ? La faute au clavier qwerty :/
|| Merci de mettre des titres explicites !!! || La bouille à Troll ? || 
Vous voulez remercier l'équipe du forum ? Participez ! Exprimez-vous ! Revenez et parlez de ce que vous voulez ! Wink Image: actualites-informatiques-pcw.1.gif
20-02-2008 22:24 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
milo18 Hors ligne
Newbie
*

Messages : 8
Inscription : Feb 2008
Réputation : 0
Message : #3
 
Bonjour à tout le monde
Merci Troll de ton aide !!!
voila la macro qui fonctionne sous excel 2000 et pas sous 2003
(J'ouvre une feuille, je la remplie, je veux l'enregistrer mais sans les macros qui l'alourdissent...de 50ko à 220ko ça fait lourd quand tu en as 300 !!!)

'rajout de suppression de macro avant sauvegarde
Dim VBComp As Object
For Each VBComp In ActiveWorkbook.VBProject.VBComponents
Select Case VBComp.Type
Case 1 To 3
ActiveWorkbook.VBProject.VBComponents.Remove VBComp
Case Else
With VBComp.CodeModule
.DeleteLines 1, .CountofLines
End With
End Select
Next VBComp

Et là j'ai erreur 1004 et on bloque sur "For Each VBComp......
Je dois utiliser des termes que 2003 ne comprend pas !!!
J'espère être clair !!!
Il faudrait peut-être que j'y ailles --> :park:

avant de juger les autres regardes-toi !!!
21-02-2008 17:47 PM
Envoyer un email à cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Troll Hors ligne
Trolls' master
******

Messages : 15 818
Inscription : Mar 2006
Réputation : 21
Message : #4
 
Salut milo,

Alors après plusieurs recherches, j'ai remarquer que tu accédes à la macro en utilisant "For Each VBComp", donc l'objet "VBComp", cependant sur les scripts qui faisaient la même chose que le tiens sur le net, que j'ai trouvé, ils utilisaient l'objet VBComponent, lui aussi faisant partie de l'array ActiveWorkbook.VBProject

Voici donc ce que je te propose de changer pour ton script :



Dim VBComp[color=#ff0000]onent[/color] As Object
For Each [color=#ff0000]VBComponent[/color] In ActiveWorkbook.VBProject.VBComponents
Select Case VBComp.Type
Case 1 To 3
ActiveWorkbook.VBProject.VBComponents.Remove [color=#ff0000]VBComponent[/color]
Case Else
With [color=#ff0000]VBComponent[/color].CodeModule
.DeleteLines 1, .CountofLines
End With
End Select
Next [color=#ff0000]VBComponent[/color]



Et en passant, voici une autre macro qui doit faire la même chose que la tienne, je te laisse tester si elle fonctionne Wink :




Sub Macro1()
'
' Rajouter référence à "Microsoft visual basic for Application exten...
'
 Dim w As Workbook
 Dim d As VBComponent
 
 Set w = Workbooks.Open(Filename:="Classeur1.xls")
 For Each d In w.VBProject.VBComponents
   Debug.Print d.Name
   If d.Type = vbext_ct_StdModule Then  'vbext_ct_StdModule Then
        w.VBProject.VBComponents.Remove w.VBProject.VBComponents(d.Name)
   End If
 Next
 w.Close True
End Sub

voilà Wink


Un poste sans accent ? La faute au clavier qwerty :/
|| Merci de mettre des titres explicites !!! || La bouille à Troll ? || 
Vous voulez remercier l'équipe du forum ? Participez ! Exprimez-vous ! Revenez et parlez de ce que vous voulez ! Wink Image: actualites-informatiques-pcw.1.gif
22-02-2008 07:20 AM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
milo18 Hors ligne
Newbie
*

Messages : 8
Inscription : Feb 2008
Réputation : 0
Message : #5
 
Bonjour à tous !!!
Désolé Troll de ne t'avoir répondu mais absent je n'ai essayé tes modifs que ces jours ci !!!
J'ai toujours le même problème !!
Je n'arrive pas à effacer ces ..... de macro, j'ai toujours les mêmes erreurs et blocage ...
J'ai bien respecté ce que tu me disais de faire mais NADA, çà ne veux fonctionner !!!
Merci quand même de tes idées !!!
:LOOL: :lol:

avant de juger les autres regardes-toi !!!
05-03-2008 18:43 PM
Envoyer un email à cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Troll Hors ligne
Trolls' master
******

Messages : 15 818
Inscription : Mar 2006
Réputation : 21
Message : #6
 
Salut milo,

Oups je viens de remarquer qu'il y avait du BBcode dans ce que je t'ai proposé, je t'ai proposé ceci :





         Dim VBComp[color=#ff0000]onent[/color] As Object
                For Each [color=#ff0000]VBComponent[/color] In ActiveWorkbook.VBProject.VBComponents
                Select Case VBComp.Type
                Case 1 To 3
                ActiveWorkbook.VBProject.VBComponents.Remove [color=#ff0000]VBComponent[/color]
                Case Else
                With [color=#ff0000]VBComponent[/color].CodeModule
                .DeleteLines 1, .CountofLines
                End With
                End Select
                Next [color=#ff0000]VBComponent[/color]




Cela aurait dû donner ceci :





         Dim VBComponent As Object
                For Each VBComponent In ActiveWorkbook.VBProject.VBComponents
                Select Case VBComp.Type
                Case 1 To 3
                ActiveWorkbook.VBProject.VBComponents.Remove VBComponent
                Case Else
                With VBComponent.CodeModule
                .DeleteLines 1, .CountofLines
                End With
                End Select
                Next VBComponent


As-tu testé l'autre code que je t'ai donné en te disant "voici une autre macro qui normalement devrait faire la même chose, je te laisse la tester" ?


Un poste sans accent ? La faute au clavier qwerty :/
|| Merci de mettre des titres explicites !!! || La bouille à Troll ? || 
Vous voulez remercier l'équipe du forum ? Participez ! Exprimez-vous ! Revenez et parlez de ce que vous voulez ! Wink Image: actualites-informatiques-pcw.1.gif
05-03-2008 19:57 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
milo18 Hors ligne
Newbie
*

Messages : 8
Inscription : Feb 2008
Réputation : 0
Message : #7
 
Désolé Troll pour le retard !!!
Des pb divers (pc planté...plus pb de santé )la vie quoi !!!
Rien ne marche j'ai tout essayé je cherche des solutions mais NADA !! Je ne comprends pas pourquoi cela marchait bien avec excel 2000 et que celà ne fonctionne pas avec 2003 !!!
Si je trouve une solution (je ne désespère jamais) je la communiquerais au forum
Bonne"journée " à tout le monde !!! :lol: :lol:

avant de juger les autres regardes-toi !!!
11-06-2008 22:03 PM
Envoyer un email à cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Troll Hors ligne
Trolls' master
******

Messages : 15 818
Inscription : Mar 2006
Réputation : 21
Message : #8
 
Etonnant... je ne suis pas une lumière en Vbs... donc je vais pas pouvoir aller très loin mais tu l'insères comment ta macro ?

Un poste sans accent ? La faute au clavier qwerty :/
|| Merci de mettre des titres explicites !!! || La bouille à Troll ? || 
Vous voulez remercier l'équipe du forum ? Participez ! Exprimez-vous ! Revenez et parlez de ce que vous voulez ! Wink Image: actualites-informatiques-pcw.1.gif
12-06-2008 07:42 AM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
milo18 Hors ligne
Newbie
*

Messages : 8
Inscription : Feb 2008
Réputation : 0
Message : #9
 
Bonjour à tous !!
Merci Troll de te préoccuper de mes problèmes !!!
Cette macro fait partie d'une macro que j'appele archive (je sauvegarde ma feuille en "effaçant" les macros de la feuille pour ne faire que 80ko au lieu de 125 ko).
En fait je prends une feuille que je remplie puis l'imprime et ensuite je l'archive cela me permet à n'importe quel moment de consulter une feuille xxxx8001 (xxxx = nom ; 8 année 2008 ; 001 étant le n° de cette feuille et ainsi de suite xxxx8002 ...).
J'ai 5 macros qui "pésent " dans le poids en KOctets !!! et c'est pour cela que je supprimais les macros (sous excel 2000)avant d' imprimer cette feuille et de la sauvegarder dans un répertoire "archive" .
Je ne sais à quel saint "me vouer" comme on dit !!! :lol: :lol:
J'espère quand même un jour réussir !!!

avant de juger les autres regardes-toi !!!
12-06-2008 08:51 AM
Envoyer un email à cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Troll Hors ligne
Trolls' master
******

Messages : 15 818
Inscription : Mar 2006
Réputation : 21
Message : #10
 
Tu sauvegardes tes fiches avec une macro ?

Ne serait-ce pas plus simple de sauvegarder manuellement ?


Car manuellement, je pense que Excel doit savoir faire enlever toutes les macros d'un fichier...

Un poste sans accent ? La faute au clavier qwerty :/
|| Merci de mettre des titres explicites !!! || La bouille à Troll ? || 
Vous voulez remercier l'équipe du forum ? Participez ! Exprimez-vous ! Revenez et parlez de ce que vous voulez ! Wink Image: actualites-informatiques-pcw.1.gif
12-06-2008 16:10 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse




Discussions apparemment similaires...
Discussion : Auteur Réponses : Affichages : Dernier message
  devis sur excel 2003 papa31 14 10 775 21-08-2024 23:53 PM
Dernier message: Kozan
  [Résolu] Microsoft Excel création fichier temporaire ameaulne 6 8 212 01-10-2012 19:39 PM
Dernier message: ameaulne
Rainbow [Résolu] Besoin d'un tuto d'Asterisk sous Windows woudam 3 10 774 25-10-2011 14:25 PM
Dernier message: woudam
  Supprimer le mot de passe Money Suite Financière Framboise 2 8 941 19-07-2011 17:48 PM
Dernier message: buzzmansai
  [RESOLU]Microsoft office 2003 ou est t-il ?! bils2 6 5 273 21-01-2011 08:43 AM
Dernier message: bils2
  [Résolu] Imprimante hp deskjet 845c ne fonctionne pas sous Windows Seven kayvxe 6 13 254 09-12-2010 22:09 PM
Dernier message: Troll
  [Résolu] Sous-titres et Media Player Classic theluckyluke 2 8 569 15-09-2010 17:49 PM
Dernier message: theluckyluke
  macro sous pack / open office Bengi2008 4 5 959 27-10-2009 11:31 AM
Dernier message: Troll
  périférique mp3 parait vide sous Vista chachanas 16 5 989 24-02-2008 18:21 PM
Dernier message: chachanas
  [Résolu] supprimer office 2003 rouday_s 14 10 754 10-10-2007 04:10 AM
Dernier message: Troll

Aller à :


Utilisateur(s) parcourant cette discussion : 1 visiteur(s)