VBA comment passer des paramêtres?

Résolu
Messages postés
259
Date d'inscription
dimanche 14 juillet 2002
Statut
Membre
Dernière intervention
17 août 2012
-
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
-
Je cherche a faire environ cela:

Sub Auto_Open()
UnprotectAll("Feuille1","mypass")
End Sub

Sub UnprotectAll(feuille as sheat, password as string)
trouver = feuille.Unprotect(password)
End Sub

6 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,

La methode .Unprotect n'appartient pas a une WorkSheet mais à l'objet Workbook. (que les experts me corrigent si je me trompe comme d'hab

Qu essayes tu de faire.

Si tu veux deverrouiller un WorkBook peu etre faut il essayer un truc du genre. (Pas tester)

Sub UnprotectAll(WorkbookName as string, Password as String)
Call WorkBooks(WorkbookName).Unprotect(Password)
End Sub

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,

Dans ce cas, j suis vraiment navré...

Alors tu peux peu etre essayer ca:

Sub Unprotect(WorksheetName as string, Password as string)
call sheets(WorksheetName).Unprotect(Password)
End sub

J sais pas si ca peu t'aider
@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
Messages postés
259
Date d'inscription
dimanche 14 juillet 2002
Statut
Membre
Dernière intervention
17 août 2012

En effet tu te trompe,.... lol elle apartion au deux =:0)
Messages postés
169
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
7 avril 2008
2
salut,

Pourquoi utiliser call ?

+++ K@lobit
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,

Le Call est juste une habitude que j'ai prise...

Mais tu aurais pu mettre aussi:

Sheets(WorksheetName).Unprotect Password

Voila.

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,

Tire de la MSDN sur l'instruction CALL:

Il n'est pas obligatoire d'employer le mot clé Call pour appeler une procédure. Toutefois, si vous utilisez ce mot clé dans le cadre de l'appel d'une procédure nécessitant des arguments, l'élément argumentlist doit être placé entre parenthèses. Dans le cas d'une procédure appelée sans le mot clé Call, vous ne devez pas encadrer argumentlist par des parenthèses. Quelle que soit la syntaxe adoptée pour appeler une fonction intrinsèque ou définie par l'utilisateur, la valeur renvoyée par la fonction est perdue.

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée