Macro automatique : la folie

  • Initiateur de la discussion laurent
  • Date de début
L

laurent

Guest
Bonjour,


Je n'en peux plus : je viens de lire je ne sais combien de post sur ce forum sur les lancements automatiques de macros à l'ouverture d'Excel et je me sens de plus en plus perdu ... en plus pour moi ça marche pas ....

Bon je résume (çe a fait du bien parfois de résumer, de faire une petite synthèse pour les gens comme moi qui ont la tête dure)

Mon worbook s'appelle : monworkbook.xls
Ma feuille s'appelle : mafeuille
Mon mot de passe pour protéger ma feuille : toto

Je créeer une macro monworbook (là j'ai déja peut être faux, il faut peut-être l'appellé autrement) avec dedans :

Private Sub WorkBook_Open()

'Portection du doc sauf macro :
ActvieSheet.Protect Password := "toto"
ActiveSheet.Protect UserInterfaceOnly := True

'lancement d'une userform
load ma_useform
ma_useform.show

End Sub

Ok ça compile, mais ça marche pas quand j'ouvre mon fichier : je fais quoi, : je tue le chien, je mange mon poisson rouge, je colle un post-it sur mon PC : veuillez entre un mot de passe ?

Les idées claires sont les bienvenues

Merci par avance

Laurent
 
L

laurent

Guest
Petite précision :

ce qui marche : l'utilisateur ne peut pas écrire

Ce qui ne marche pas :
le mot de passe qui n'est pas bon lorsque je le rentre
ma user form qui ne se lance pas automatiquement
 
M

michel

Guest
Bonjour Laurent

j'ait testé ta macro telle quelle ; sans rencontrer de probleme particulier . je n'ai constaté aucun de tes probleme chez moi : affichage usf ,protection et mot de passe...

Private Sub WorkBook_Open()
'Portection du doc sauf macro :
ActiveSheet.Protect Password:="toto"
ActiveSheet.Protect UserInterfaceOnly:=True
'lancement d'une userform
ma_useform.Show
End Sub

Par contre si tu as fait un copier /coller de ta procedure dans ce post, j'ai remarqué que tu as écrit "ActvieSheet.Protect Password := "toto"
au lieu de "ActiveSheet.Protect Password:="toto"

comme tu as donné un nom particlier a ton userform , il faut peut etre en controler la saisie aussi

Sans rapport avec ton probleme... je pense que load ma_useform n'est pas necessaire

bonne journée
Michel
 
J

Jon_Chninkel

Guest
bonjour


dans la procédure évenèmentielle workbook_open (ou auto_open) tu peux éventuellement vouloir lancer une autre proc voire une autre proc évènementielle

call thisworkbook.workbook_beforeclose
call thisworkbook.sheets(1).worksheet_selectionchange

bye
stephane
 

Discussions similaires

Réponses
3
Affichages
835

Membres actuellement en ligne

Statistiques des forums

Discussions
312 504
Messages
2 089 070
Membres
104 018
dernier inscrit
Mzghal