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

Comment puis-je deleter userform dans VBA avant de sauvegarder

8 réponses
Avatar
Martin
Bonjour à tous

Je désire pour des raison de sécurité de mon projet VBA deleter userform
lors de la sauvegarde sous un autre nom du fichier EXEL.

Je crois que cela doit être fait dans Thisworkbook mais je ne sais pas
comment.

Pouvez-vous m'aider SVP.

8 réponses

Avatar
LSteph
Bonjour,

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
If SaveAsUI Then
On Error Resume Next
With ThisWorkbook.VBProject
.VBComponents.Remove .VBComponents("UserForm1")
End With
End If
End Sub

'lSteph

Martin a écrit :
Bonjour à tous

Je désire pour des raison de sécurité de mon projet VBA deleter userform
lors de la sauvegarde sous un autre nom du fichier EXEL.

Je crois que cela doit être fait dans Thisworkbook mais je ne sais pas
comment.

Pouvez-vous m'aider SVP.


Avatar
Martin
Bonjour

Merci cela fonctionne mais
il me donne un message d'erreur que mon projet est protéger
quand j'installe une apostrof devant On Error Resume Next

Est-il possible de déprotéger mon projet, deleter UserForm et reprotéger mon
projet

Merci


"LSteph" a écrit :

Bonjour,

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
If SaveAsUI Then
On Error Resume Next
With ThisWorkbook.VBProject
..VBComponents.Remove .VBComponents("UserForm1")
End With
End If
End Sub

'lSteph

Martin a écrit :
> Bonjour à tous
>
> Je désire pour des raison de sécurité de mon projet VBA deleter userform
> lors de la sauvegarde sous un autre nom du fichier EXEL.
>
> Je crois que cela doit être fait dans Thisworkbook mais je ne sais pas
> comment.
>
> Pouvez-vous m'aider SVP.



Avatar
lSteph
Bonjour,

chez moi cela marche projet protégé ou non,

le on error resume next
est là pour tout autre chose:
c'est pour s'il n'y a pas de Userform1 à supprimer.

Ensuite si on met une instruction en commentaire évidemment c'est
comme si elle n'y était plus.

@+

lSteph


On 28 juil, 11:04, Martin wrote:
Bonjour

Merci cela fonctionne mais
il me donne un message d'erreur que mon projet est protéger
quand j'installe une apostrof devant On Error Resume Next

Est-il possible de déprotéger mon projet, deleter UserForm et reprot éger mon
projet

Merci

"LSteph" a écrit :

> Bonjour,

> Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
> Cancel As Boolean)
> If SaveAsUI Then
> On Error Resume Next
> With ThisWorkbook.VBProject
> ..VBComponents.Remove .VBComponents("UserForm1")
> End With
> End If
> End Sub

> 'lSteph

> Martin a écrit :
> > Bonjour à tous

> > Je désire pour des raison de sécurité de mon projet VBA deleter userform
> > lors de la sauvegarde sous un autre nom du fichier EXEL.

> > Je crois que cela doit être fait dans Thisworkbook mais je ne sais pas
> > comment.

> > Pouvez-vous m'aider SVP.


Avatar
lSteph
....pour le reste si le coeur t'en dit, tu trouveras ton bonheur par
là:

http://www.cpearson.com/excel/vbe.aspx


;-)
Avatar
Martin
Bonjour lSteph

Il est vrai que j'ai mis une instruction en commentaire (on error resume
next) mais quand je sauvegardais le fichier exel sous un autre nom mon
UserForm apparaissait quand même.

On me conseillais de mettre l'instruction en commantaire pour savoir
pourquoi mon UserForm ne s'effacais pas ce que je fit.

Le message qui apparu disait que ( Erreur d'exécution"50289") Impossible
d'effectuer cette opération tant que le projet est protégé et pour que le
tout fonctionne il fallait que je laisse mon projet non protéger.

Existe-t'il une instruction pour déprotéger mon projet, effacer UserForm, et
reprotéger mon projet.

Merci et je m'excuse car je suis un novice en programmation



"lSteph" a écrit :

....pour le reste si le coeur t'en dit, tu trouveras ton bonheur par
là:

http://www.cpearson.com/excel/vbe.aspx


;-)



Avatar
lSteph
Bonjour,

suis le lien que je t'ai donné

http://www.cpearson.com/excel/vbe.aspx

--
lSteph

On 29 juil, 02:44, Martin wrote:
Bonjour lSteph

Il est vrai que j'ai mis une instruction en commentaire (on error resume
next) mais quand je sauvegardais le fichier exel sous un autre nom mon
UserForm apparaissait quand même.

On me conseillais de mettre l'instruction en commantaire pour savoir
pourquoi mon UserForm ne s'effacais pas ce que je fit.

Le message qui apparu disait que ( Erreur d'exécution"50289") Impossibl e
d'effectuer cette opération tant que le projet est protégé et pour que le
tout fonctionne il fallait que je laisse mon projet non protéger.

Existe-t'il une instruction pour déprotéger mon projet, effacer UserF orm, et
reprotéger mon projet.

Merci et je m'excuse car je suis un novice en programmation

"lSteph" a écrit :

> ....pour le reste si le coeur t'en dit, tu trouveras ton bonheur par
> là:

>http://www.cpearson.com/excel/vbe.aspx

> ;-)


Avatar
lSteph
On peut publier son code quand on en est l'auteur mais il y a des
sources qui doivent être respectées et ne peuvent l'être directement
sur le forum mais rien empêche d'aller y voir:

Le site de pearson te permettait de voir que ce n'est pas si simple de
manipuler du code VBA avec du code VBA
et que la distribution de ton projet impliquera de savoir
si les versions s'y prettent et qu'il y a parfois des références à
mettre en oeuvre.

pour ce qui est d'utiliser déprotection et reprotection itou regarde
par ici:

http://www.vbfrance.com/codes/DEPROTECTION-PROJET-VBA-CODE_1976.aspx

Cordialement.

--
lSteph


On 29 juil, 02:44, Martin wrote:
Bonjour lSteph

Il est vrai que j'ai mis une instruction en commentaire (on error resume
next) mais quand je sauvegardais le fichier exel sous un autre nom mon
UserForm apparaissait quand même.

On me conseillais de mettre l'instruction en commantaire pour savoir
pourquoi mon UserForm ne s'effacais pas ce que je fit.

Le message qui apparu disait que ( Erreur d'exécution"50289") Impossibl e
d'effectuer cette opération tant que le projet est protégé et pour que le
tout fonctionne il fallait que je laisse mon projet non protéger.

Existe-t'il une instruction pour déprotéger mon projet, effacer UserF orm, et
reprotéger mon projet.

Merci et je m'excuse car je suis un novice en programmation

"lSteph" a écrit :

> ....pour le reste si le coeur t'en dit, tu trouveras ton bonheur par
> là:

>http://www.cpearson.com/excel/vbe.aspx

> ;-)


Avatar
Martin
Bonjour lSteph

Je tien à vous remercier pour tout et surtout votre patience.
Je prévois beaucoup de plaisir avec mon projet surtout avec les lien que
vous m'avez donner

Encore merci à la prochaine
Martin

"lSteph" a écrit :

On peut publier son code quand on en est l'auteur mais il y a des
sources qui doivent être respectées et ne peuvent l'être directement
sur le forum mais rien empêche d'aller y voir:

Le site de pearson te permettait de voir que ce n'est pas si simple de
manipuler du code VBA avec du code VBA
et que la distribution de ton projet impliquera de savoir
si les versions s'y prettent et qu'il y a parfois des références à
mettre en oeuvre.

pour ce qui est d'utiliser déprotection et reprotection itou regarde
par ici:

http://www.vbfrance.com/codes/DEPROTECTION-PROJET-VBA-CODE_1976.aspx

Cordialement.

--
lSteph


On 29 juil, 02:44, Martin wrote:
> Bonjour lSteph
>
> Il est vrai que j'ai mis une instruction en commentaire (on error resume
> next) mais quand je sauvegardais le fichier exel sous un autre nom mon
> UserForm apparaissait quand même.
>
> On me conseillais de mettre l'instruction en commantaire pour savoir
> pourquoi mon UserForm ne s'effacais pas ce que je fit.
>
> Le message qui apparu disait que ( Erreur d'exécution"50289") Impossible
> d'effectuer cette opération tant que le projet est protégé et pour que le
> tout fonctionne il fallait que je laisse mon projet non protéger.
>
> Existe-t'il une instruction pour déprotéger mon projet, effacer UserForm, et
> reprotéger mon projet.
>
> Merci et je m'excuse car je suis un novice en programmation
>
> "lSteph" a écrit :
>
> > ....pour le reste si le coeur t'en dit, tu trouveras ton bonheur par
> > là:
>
> >http://www.cpearson.com/excel/vbe.aspx
>
> > ;-)