Activer la macro intégrant le mot de passe

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 !

Webperegrino

XLDnaute Accro
Supporter XLD
Excel 97-2003 sous Windows

Bonjour,
Ci-joint un fichier expliquant mon problème.
Dans mon classeur à plusieurs feuilles, deux feuilles peuvent être activées par macro pour exécuter un travail de "tri sur feuille 1 + report de résultat sur feuille 2 et enfin une impression de cette feuille 2 bien présentée à ce niveau -plus de lignes vides, lignes pleines rangées par ordre croissant de dates-".

Objectif :

Mes feuilles étant protégées (Mot de passe) la macro devrait pouvoir être exécutée sans demander le mot de passe.
Ma macro déprotège, s'exécute correctement, et reprotège les deux feuilles.
Je ne veux pas que ma macro me demande le mot de passe.
Peut-on, et comment, intégrer le mot de passe dans la macro ?

Merci de me venir en aide car je suis à 99 % de ce que je désirais.
 
Re : Activer la macro intégrant le mot de passe

Bonsoir Webperegrino,

avec en début de macro :

ActiveSheet.Unprotect ("ton mot de passe"),

et en fin de procédure :

ActiveSheet.protect ("ton mot de passe")

Voir si cela te convient.

Bonne soirée.

Jean-Pierre
 
Re : Activer la macro intégrant le mot de passe

Voici la macro qui affiche maintenant ERREUR !
Faut-il retire les "" autour du mot de passe.
En tout cas c'est merveilleux d'avoir si rapidement de l'aide de professionels. C'est encourageant pour moi dans ma progression en pratique d'Excel.


Sub TRI_ET_IMPRESSION()
'
' TRI_ET_IMPRESSION Macro
' Macro enregistrée le 04/07/2008 par Webperegrino
'
' Touche de raccourci du clavier: Ctrl+Maj+E
'
Sheets("Tri").Select
ActiveSheet.Unprotect ("TOTO"),
Sheets("ENTRÉES_SORTIES").Select
ActiveSheet.Unprotect
Sheets("Tri").Select
ActiveWindow.ScrollRow = 13
ActiveWindow.ScrollRow = 17
ActiveWindow.ScrollRow = 22
ActiveWindow.ScrollRow = 31
ActiveWindow.ScrollRow = 40
ActiveWindow.ScrollRow = 44
ActiveWindow.ScrollRow = 49
ActiveWindow.ScrollRow = 53
ActiveWindow.ScrollRow = 58
ActiveWindow.ScrollRow = 62
ActiveWindow.ScrollRow = 67
ActiveWindow.ScrollRow = 71
ActiveWindow.ScrollRow = 76
ActiveWindow.ScrollRow = 80
ActiveWindow.ScrollRow = 85
ActiveWindow.ScrollRow = 89
ActiveWindow.ScrollRow = 85
ActiveWindow.ScrollRow = 80
ActiveWindow.ScrollRow = 76
ActiveWindow.ScrollRow = 71
ActiveWindow.ScrollRow = 67
ActiveWindow.ScrollRow = 58
ActiveWindow.ScrollRow = 53
ActiveWindow.ScrollRow = 49
ActiveWindow.ScrollRow = 40
ActiveWindow.ScrollRow = 31
ActiveWindow.ScrollRow = 26
ActiveWindow.ScrollRow = 17
ActiveWindow.ScrollRow = 13
ActiveWindow.ScrollRow = 8
Rows("8:8").Select
ActiveWindow.LargeScroll Down:=8
Rows("8:212").Select
Selection.Sort Key1:=Range("A8"), Order1:=xlAscending, Key2:=Range("B8") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
Sheets("ENTRÉES_SORTIES").Select
Selection.AutoFilter Field:=2, Criteria1:="<>"
Selection.AutoFilter Field:=3
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Selection.AutoFilter Field:=2
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Tri").Select
ActiveSheet.Protect ("TOTO"), DrawingObjects:=True, Contents:=True, Scenarios:= _
False, AllowSorting:=True, AllowFiltering:=True
End Sub ma macro qui affiche maintenant ERREUR !
 
Re : Activer la macro intégrant le mot de passe

Re,

Une fois doit suffire, tant pour le début que pour la fin :

ActiveSheet.Unprotect ("TOTO"),
Sheets("ENTRÉES_SORTIES").Select
ActiveSheet.Unprotect à supprimer, pareil à la fin

Sinon, mets nous un petit fichier exemple, zippé si possible, pour que l'on puisse t'aider mieux.

A te lire.

Jean-Pierre


 
Re : Activer la macro intégrant le mot de passe

Re



Tu peux supprimer quelques lignes
Code:
Sub TRI_ET_IMPRESSION()
'
' TRI_ET_IMPRESSION Macro
' Macro enregistrée le 04/07/2008 par Webperegrino
'
' Touche de raccourci du clavier: Ctrl+Maj+E
'
    Sheets("Tri").Unprotect ("[B][COLOR=red]TOTO[/COLOR][/B]"),
    Sheets("ENTRÉES_SORTIES").Unprotect
    Sheets("Tri").Rows("8:212").Sort Key1:=Range("A8"), Order1:=xlAscending, Key2:=Range("B8") _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
        :=xlSortNormal
    Sheets("ENTRÉES_SORTIES").AutoFilter Field:=2, Criteria1:="<>"
    Selection.AutoFilter Field:=3
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Selection.AutoFilter Field:=2
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Sheets("Tri").Protect ("[B][COLOR=Red]TOTO[/COLOR][/B]"), DrawingObjects:=True, Contents:=True, Scenarios:= _
        False, AllowSorting:=True, AllowFiltering:=True
    End Sub
 
Re : Activer la macro intégrant le mot de passe

Meric pour votre aide.
Mais maintenant je me retouve avec un blocage "Erreur de syntaxe" dans l'exécution.
Ça bloque au niveau écrit en rouge ci-après.
Je vous transcris la fin également qui va aussi boguer je suppose...

Voici ce que j'ai essayé de corriger dans la macro que je ne comprend pas du tout.

Sheets("Tri").Select
ActiveSheet.Unprotect ("TOTO"), Sheets("ENTRÉES_SORTIES").Select
Sheets("Tri").Select
ActiveWindow.ScrollRow = 13
ActiveWindow.ScrollRow = 17

.../...
Et à la fin :


Selection.Sort Key1:=Range("A8"), Order1:=xlAscending, Key2:=Range("B8") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
Sheets("ENTRÉES_SORTIES").Select
Selection.AutoFilter Field:=2, Criteria1:="<>"
Selection.AutoFilter Field:=3
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Selection.AutoFilter Field:=2
ActiveSheet.Protect ("TOTO"), DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Tri").Select
ActiveSheet.Protect ("TOTO"), DrawingObjects:=True, Contents:=True, Scenarios:= _
False, AllowSorting:=True, AllowFiltering:=True
End Sub
End Sub
 
Re : Activer la macro intégrant le mot de passe

Bonsoir Staple 1600 de Rennes (ICI LORIENT !) et Merci Jean-Pierre.
Désolé de ne pas pouvoir continuer ce soir.
Je me calme !
Je revois tout cela demain car j'ai essayé de remplacer la macro par la simplification apporté par Staple 1600... la macro est devenue MACRO n° 5 (j'ai supprimé les autres); Et voilà que ça devient impossible d'exécuter la macro.
J'ai à nouveau 'erreur de compilation-erreur de syntaxe' sur la ligne :
Sheets("Tri").Unprotect ("TOTO"),
Je re-exécuterai une nouvelle macro en changeant le code si nécessaire
Enfin 'ziper' le fichier m'a posé aussi problème.
Donc merci et à plus tard.
Lorient
 
Re : Activer la macro intégrant le mot de passe

Bonsoir,
Je vais essayer de joindre un exemple très simplifié zippé du problème qui se pose.
J'ai tenté l'intégration de la correction proposée par Jean-Pierre et/ou Staple1600, mais des messages d'erreur s'affichent.
A la réception du fichier, les trois feuilles sont protégées par le mot de passe toto (pour faire simple).

Le but donc est pour un utilisateur qui fera des saisies, de réaliser aussi des impressions des états "ESPÈCES", puis "CHQ BANCAIRES", "CHQ VACANCE" et enfin "CARTES BANCAIRES" sans avoir à saisir le mot de passe (que je devrais être le seul à le connaître, à cause des formules à protéger lors des saisies).

C'est pour cela que je vous propose de me produire la bonne composition de la macro avec ("toto"), ou (toto), ou "toto" surtout bien positionné dans le texte de la macro déjà en liaison avec le Bouton "Boîte-Surprise" dans la feuille TRI.

Pour le moment, à l'impulsion de ce bouton, il faut entrer le MDP : ce que je ne désire pas.

La macro en s'exécutant, déprotège, fait le tri et l'impression et reprotège les deux fichiers TRI et ENTRÉ_SORTIES.

Elle attend alors une étape nouvelle lors d'un nouveau choix d'une des quatre valeurs mise dans la fenêtre jaune de TRI. Puis l'appui du bouton activera la macro pour tri-impression, etc...

Un grand merci pour celui qui me sauvera.
Je ne suis pas spécialiste de macro, mais je me perfectionne grâce aux consultations sur ce forum de spécialistes, donc une explication du bon positionnement du MOT de PASSE dans celle-ci sera bienvenue.
-
 

Pièces jointes

Re : Activer la macro intégrant le mot de passe

C'est tout bon !
Je progresse maintenant grâce à l'aide de Staple 1600 ainsi que JeanPierre qui m'ont orienté et m'ont permis de mettre en place ce que je désirais.
Je me régale. Excel est vraiment passionnant.
Je ne vous joins pas mon application qui, sans saisie dans les cellules disponibles, dépasse les 5200 ko, mais seulement un petit exemple.

Cet exemple pourra peut-être servir également de pédagogie pour un fureteur sur votre forum à la recherche du problème réglé. Il galèrera ainsi moins longtemps que moi pour trouver la solution.

Voici donc le fichier : le mot de passe de chaque feuille est ("aqw").

je l'ai aussi inscrit dans la compistion de la macro.
Cette macro est en relation avec le bouton coloré qui active celle-ci.
Automatiquement a alors lieu un filtrage, un report sur une autre feuille et immédiatement une impression du résultat. On n'a m^me pas le temps de tourner la tête : c'est déjà fait !

Grand merci à vous deux pour votre aide, vous m'avez vraiment encouragé.

Figurez-vous que je m'en vais maintenant à la recherche d'un coloriage automatique du contenu de cellules en référence avec celles d'une liste de paramètres (si 'Lieu A' est bleu clair dans cette liste, une cellule dans la feuille de saisie recevant 'Lieu A' deviendra bleue clair à la validation).
Enfin je rêve peut-être un peu trop, c'est sans doute impossible...
 

Pièces jointes

Re : Activer la macro intégrant le mot de passe

Bonsoir Webperegrino, le fil,

Merci de ton retour, en tous cas. c'est sympa.

Bonne soirée.

Jean-Pierre

PS : pour ton problème de couleur, je pense qu'il faut passer par VBA.... (pleins d'exemples sur le forum)
 
Re : Activer la macro intégrant le mot de passe

Bonjour Webperegrino, jeanpierre, le fil, le forum


Content que Excel et VBA te passionne

(Merci de partager ton expérience de découverte du VBA avec les autres forumeurs)


Si dessous ta macro lumière un peu remaniée.

(Normalement le résultat est le même)

Code:
Sub lumière()
' lumière Macro
' Touche de raccourci du clavier: Ctrl+Maj+L
With Sheets("Résultat")
    .Unprotect ("aqw")
    .Range("$A$5:$O$15").AutoFilter 2, "<>"
    '.PrintOut Copies:=1
[COLOR=Green] 'ligne ajoutée pour test (pour ne pas lancer l'impression)
'mais l'aperçu avant impression[/COLOR]
    .PrintPreview
    .ShowAllData
    .Protect ("aqw"), True, True, True
End With
Sheets("TRI").Activate
End Sub
N'hésites pas si tu as besoin d'explications sur la syntaxe employée.
 
Re : Activer la macro intégrant le mot de passe

Merci Staple1600,
J'ai reporté la proposition qui en effet est plus simple et plus esthétique : je vais l'étudier, en tant que débutant, ça me prendra du temps. Il me faut faire d'autres applications pour progresser.
En tout cas merci, ça fonctionne en effet de façon plus conversationnelle avec cet aperçu avant ordre d'imprimé.
Très intéressant.
Ma progression va vers la jonction de deux fenêtres, une de saisies ENTRÉES, une autre pour saisies de SORTIES de valeurs, en espèces, chèques bancaires, chèques vacance, carte bancaire, les origines, les références de classement pour contrôles ; ça me fait deux belles fenêtres dans lesquelles j'ai découvert le procédé de positionnement exact de mes ComboBox et de mes TextBox. Il ne me reste plus qu'à fureter sur la toile pour connaître les bonne liaisons à faire avec mes deux feuilles Entrées et Sorties pour bien reporter les contenus au-dessous des dernières lignes dans les colonnes de la base. Vaste 'programme' car c'est tout nouveau pour moi mais tellement passionnant !
 
- 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

Discussions similaires

Réponses
5
Affichages
808
Compte Supprimé 979
C
D
Réponses
3
Affichages
1 K
Retour