XL2007 refus de supprimer du code VB

Le
Le Nordiste
Bonsoir,


J'ai recupéré le code ci-dessous -datant de fin 2003.
je voudrais l'utiliser depuis PERSONAL sur un fichier MonFichier.xls

'=
=
Sub SupprimeToutCodeEtFormulaire()


Dim VBComp As Object
Dim VBComps As Object


Set VBComps = ActiveWorkbook.VBProject.VBComponents


For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp


End Sub
==


Au lancement ça refuse d'effacer le code du fait du danger.
Comment faire pour quand même le faire.
Je sui ssous XL2007.

Merci d evotre aide.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #16534751
Le problème n'est pas la macro mais je crois que c'est un truc
de sécurité propre à excel 2007. Regarde là ... peut être y
trouveras-tu ton compte.

http://office.microsoft.com/fr-fr/excel/HP100969191036.aspx



"Le Nordiste" news:
Bonsoir,


J'ai recupéré le code ci-dessous -datant de fin 2003.
je voudrais l'utiliser depuis PERSONAL sur un fichier MonFichier.xls

'============================================= Sub SupprimeToutCodeEtFormulaire()


Dim VBComp As Object
Dim VBComps As Object


Set VBComps = ActiveWorkbook.VBProject.VBComponents


For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp


End Sub
=============================================
Au lancement ça refuse d'effacer le code du fait du danger.
Comment faire pour quand même le faire.
Je sui ssous XL2007.

Merci d evotre aide.
Le Nordiste
Le #16538591
En fait ça coince à la ligne

Set VBComps = ActiveWorkbook.VBProject.VBComponents

alors que j'ai bien "activer toutes les macros…comme indiquer dans ton
lien, MichDenis.

Encore un mystere XL2007.
michdenis
Le #16539011
Bon ben, il va falloir que tu attendes l'aide de quelqu'un
qui a cette version d'excel.




"Le Nordiste" news:
En fait ça coince à la ligne

Set VBComps = ActiveWorkbook.VBProject.VBComponents

alors que j'ai bien "activer toutes les macros…comme indiquer dans ton
lien, MichDenis.

Encore un mystere XL2007.
parci
Le #16540721
On Wed, 13 Aug 2008 06:39:14 -0700 (PDT), Le Nordiste

En fait ça coince à la ligne

Set VBComps = ActiveWorkbook.VBProject.VBComponents



Il manque une référence à "Microsoft Visual Basic for Applications
Extensibility" (menu Outils/Référence dans l'éditeur vba).
Je ne sais pas si cette librairie existe toujours en 2007.
Misange
Le #16543351
oui oui elle est toujours accessible
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

parci a écrit :
On Wed, 13 Aug 2008 06:39:14 -0700 (PDT), Le Nordiste

En fait ça coince à la ligne

Set VBComps = ActiveWorkbook.VBProject.VBComponents



Il manque une référence à "Microsoft Visual Basic for Applications
Extensibility" (menu Outils/Référence dans l'éditeur vba).
Je ne sais pas si cette librairie existe toujours en 2007.



michdenis
Le #16545021
La procédure suivante :

Dans Excel 2003 et version précédente, il n'y a nul besoin
d'installer la référence suivante :
"Microsoft Visual Basic for Applications Extensibility"
pour exécuter la ligne de code suivante :

Set VBComps = ActiveWorkbook.VBProject.VBComponents
dans la procédure qui suit :(Il faut observer la déclaration
des variables comment elle est faite)

Pour ce qui est Excel 2007.... je ne sais pas ....
mais ce serait toute une surprise si on devait avoir recours
à l'insertiion de la référence pour faire fonctionner ce bout de code.

'-----------------------------------------
Sub SupprimeToutCodeEtFormulaire()

Dim VBComp As Object
Dim VBComps As Object

Set VBComps = ActiveWorkbook.VBProject.VBComponents

For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp

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



"parci"
On Wed, 13 Aug 2008 06:39:14 -0700 (PDT), Le Nordiste

En fait ça coince à la ligne

Set VBComps = ActiveWorkbook.VBProject.VBComponents



Il manque une référence à "Microsoft Visual Basic for Applications
Extensibility" (menu Outils/Référence dans l'éditeur vba).
Je ne sais pas si cette librairie existe toujours en 2007.
Frédéric Sigonneau
Le #16545931
Je n'ai de personal.??? mais un perso.xls hérité d'Excel 2003 et ta procédure,
copiée dans un module de ce perso.xls, élimine bien, sans erreur, le code d'un
classeur enregistré au format .xls.
(Excel 2007 en mode compatibilité)
Le projet de ton classeur MonFichier.xls ne serait-il pas protégé ?

FS
---
Frédéric Sigonneau
http://frederic.sigonneau.free.fr

Le Nordiste a écrit :
Bonsoir,


J'ai recupéré le code ci-dessous -datant de fin 2003.
je voudrais l'utiliser depuis PERSONAL sur un fichier MonFichier.xls

'============================================= > Sub SupprimeToutCodeEtFormulaire()


Dim VBComp As Object
Dim VBComps As Object


Set VBComps = ActiveWorkbook.VBProject.VBComponents


For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp


End Sub
============================================= >
Au lancement ça refuse d'effacer le code du fait du danger.
Comment faire pour quand même le faire.
Je sui ssous XL2007.

Merci d evotre aide.


parci
Le #16547051
On Thu, 14 Aug 2008 06:58:52 -0400, "michdenis"

La procédure suivante :

Dans Excel 2003 et version précédente, il n'y a nul besoin
d'installer la référence suivante :
"Microsoft Visual Basic for Applications Extensibility"
pour exécuter la ligne de code suivante :



Exact, désolé.

Set VBComps = ActiveWorkbook.VBProject.VBComponents
dans la procédure qui suit :(Il faut observer la déclaration
des variables comment elle est faite)

Pour ce qui est Excel 2007.... je ne sais pas ....
mais ce serait toute une surprise si on devait avoir recours
à l'insertiion de la référence pour faire fonctionner ce bout de code.



Il y a au moins 42 raisons pour que ça ne marche pas dans 2007.
Publicité
Poster une réponse
Anonyme