Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

XL2007 refus de supprimer du code VB

8 réponses
Avatar
Le Nordiste
Bonsoir,


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

'=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Sub SupprimeToutCodeEtFormulaire()


Dim VBComp As Object
Dim VBComps As Object


Set VBComps =3D 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
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

Au lancement =E7a refuse d'effacer le code du fait du danger.
Comment faire pour quand m=EAme le faire.
Je sui ssous XL2007.

Merci d evotre aide.

8 réponses

Avatar
michdenis
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" a écrit dans le message de
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.
Avatar
Le Nordiste
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.
Avatar
michdenis
Bon ben, il va falloir que tu attendes l'aide de quelqu'un
qui a cette version d'excel.




"Le Nordiste" a écrit dans le message de
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.
Avatar
parci
On Wed, 13 Aug 2008 06:39:14 -0700 (PDT), Le Nordiste
wrote:

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.
Avatar
Misange
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
wrote:

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.



Avatar
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 :

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" a écrit dans le message de news:

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

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.
Avatar
Frédéric Sigonneau
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.


Avatar
parci
On Thu, 14 Aug 2008 06:58:52 -0400, "michdenis"
wrote:

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.