[ résolu] Private Sub ?!

  • Initiateur de la discussion Initiateur de la discussion cissou69
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

cissou69

Guest
Bonjour,

Après avoir parcouru plusieurs sujets, je n'arrive pas à trouver une solution pour mon problème.

Je cherche comment créer une Sub qui ne sois pas disponible lorsqu'on fait Alt+F8 depuis le fichier excel (soit une Private Sub) mais qui soit possible de faire un call depuis une autre sub ...

L'idée est de créer un module de déprotection d'un fichier et que je puisse l'appeler dans mes différentes sub sans qu'il soit disponible depuis le menu "Alt+F8" dans excel lorsque le fichier est verrouiller.

Merci d'avance pour votre aide,

Cissou
 
Dernière modification par un modérateur:
Re : Private Sub ?!

Bonjour,

Soit une private Sub qui doit du coup être placée dans le même module que la procédure appelante, soit une Sub avec des faux paramètres comme ceci par exemple :
VB:
Sub Test(Optional Zap as Byte)
'.....
end sub
 
Re : Private Sub ?!

Mintri,

La Private Sub ne s'affiche pas dans le menu des macros mais ne peut pas être appelé dans un module différent ...

Softmama,

Je ne comprends pas très bien le coup des faux paramètres par exemple mon module de déprotection

Code:
Private Sub Deprotection()

Application.ScreenUpdating = False

Dim s As Worksheet

'Déprotection du classeur
ActiveWorkbook.Unprotect "3xc3l"

'Déprotection des onglets
For Each s In Worksheets
    s.Unprotect "3xc3l"
Next s

Application.ScreenUpdating = True

End Sub
 
Re : Private Sub ?!

tu la remplaces par :
VB:
Private Sub Deprotection(Optional FauxParamètre as Byte)

Application.ScreenUpdating = False

Dim s As Worksheet

'Déprotection du classeur
ActiveWorkbook.Unprotect "3xc3l"

'Déprotection des onglets
For Each s In Worksheets
    s.Unprotect "3xc3l"
Next s

Application.ScreenUpdating = True

End Sub
 
Re : Private Sub ?!

pardon, je me suis trompé, tu vires le private et tu places ta macro dans le module de ton choix :
Code:
Sub Deprotection(Optional FauxParamètre as Byte)

Application.ScreenUpdating = False

Dim s As Worksheet

'Déprotection du classeur
ActiveWorkbook.Unprotect "3xc3l"

'Déprotection des onglets
For Each s In Worksheets
    s.Unprotect "3xc3l"
Next s

Application.ScreenUpdating = True

End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour