Empecher de saisir mot de passe dans excel
Résolu/Fermé
bruiz
Messages postés
123
Date d'inscription
dimanche 23 mars 2008
Statut
Membre
Dernière intervention
10 octobre 2022
-
Modifié par Jeff le 16/03/2010 à 12:45
bruiz Messages postés 123 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 10 octobre 2022 - 16 mars 2010 à 18:05
bruiz Messages postés 123 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 10 octobre 2022 - 16 mars 2010 à 18:05
A voir également:
- Empecher de saisir mot de passe dans excel
- Piratage facebook changer mot de passe - Guide
- Voir mot de passe wifi android - Guide
- Mot de passe administrateur - Guide
- Mettre un mot de passe sur un dossier - Guide
- Outlook mot de passe oublié - Guide
7 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 741
Modifié par pijaku le 16/03/2010 à 11:33
Modifié par pijaku le 16/03/2010 à 11:33
Salut,
Pour déprotéger ta feuille excel avant l'exécution de ta macro, tu écris ce code juste après la déclaration des variables :
Et en fin de macro, avant le End Sub tu rétablit ta protection par :
Pense à utiliser, pour des procédures simples comme celle ci, l'enregistreur de macro :
Outils/Macro/Nouvelle macro OK ---> lance l'enregistreur (noter le nom de la macro)
Tu fais toutes les manipulations souhaitées
Outils/Macros/Arrêter l'enregistrement
Puis tu va dans Visual Basic (ALT+F11) et là, dans un module, tu retrouves le code généré par l'enregistreur.
Cordialement,
-- Tout problème à sa solution. S'il n'y a pas de solution, ou est le problème? --
Pour déprotéger ta feuille excel avant l'exécution de ta macro, tu écris ce code juste après la déclaration des variables :
Sub macro_machin() Dim trux as truc, Dim machin as machin ActiveSheet.UnProtect "toto" 'toto est bien entendu ton mot de passe
Et en fin de macro, avant le End Sub tu rétablit ta protection par :
ActiveSheet.Protect "toto"
Pense à utiliser, pour des procédures simples comme celle ci, l'enregistreur de macro :
Outils/Macro/Nouvelle macro OK ---> lance l'enregistreur (noter le nom de la macro)
Tu fais toutes les manipulations souhaitées
Outils/Macros/Arrêter l'enregistrement
Puis tu va dans Visual Basic (ALT+F11) et là, dans un module, tu retrouves le code généré par l'enregistreur.
Cordialement,
-- Tout problème à sa solution. S'il n'y a pas de solution, ou est le problème? --
bruiz
Messages postés
123
Date d'inscription
dimanche 23 mars 2008
Statut
Membre
Dernière intervention
10 octobre 2022
1
16 mars 2010 à 12:08
16 mars 2010 à 12:08
je te remercie pour l'aide apparemment cela fonctionne;
le leur souci est que les utilisateurs peuvent voir les macros et donc voir le mot de passe. Ne peut on pas blinder les macros afin qu'elles ne soient pas modifiables ni visibles .
D'autre part, je voudrais que l'utilisiteur puisse lancer ce modele .xlt à partir d'un raccourci bureau mais enregistre jamais dans le fichier modele mais plutot dans un fichier xls. J'ai egalement qques soucis .
Merci encore
le leur souci est que les utilisateurs peuvent voir les macros et donc voir le mot de passe. Ne peut on pas blinder les macros afin qu'elles ne soient pas modifiables ni visibles .
D'autre part, je voudrais que l'utilisiteur puisse lancer ce modele .xlt à partir d'un raccourci bureau mais enregistre jamais dans le fichier modele mais plutot dans un fichier xls. J'ai egalement qques soucis .
Merci encore
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 741
16 mars 2010 à 12:45
16 mars 2010 à 12:45
1- Ne peut on pas blinder les macros : Dans Visual Basic (ALT+F11 depuis ton classeur excel) : clic droit sur VBAProject (tu le trouveras dans la petite fenêtre "Projet - VBAProject" en haut à gauche) /propriétés de VBAProject onglet : protection. Cocher "verrouiller le projet pour l'affichage" et entrer (puis confirmer) un mot de passe. !!!ATTENTION!!! Un mot de passe n'est pas à utiliser à la légère!!! En cas d'oubli, c'est foutu!!!
2- mais enregistre jamais dans le fichier modele mais plutot dans un fichier xls. : Une solution consiste à enregistrer automatiquement ton classeur sous : "nom_du_fichier_date_heure.xls"
Pour cela :
tu peux également l'enregistrer sous : "nom du fichier_nom de l'utilisateur_date_heure.xls"
Pour cela, la macro complète devient :
Bon ok, je le conçois, ça nous fait des noms de fichiers à rallonge... Mais quel bonheur pour les classer!!!
2- mais enregistre jamais dans le fichier modele mais plutot dans un fichier xls. : Une solution consiste à enregistrer automatiquement ton classeur sous : "nom_du_fichier_date_heure.xls"
Pour cela :
Sub enregistrement() Dim NomFic As String NomFic = ActiveWorkbook.Path & "\" & Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) ActiveWorkbook.SaveAs NomFic & " " & Format(Date, "ddmmyyyy") & " " & Format(Time, "hhmmss") & ".xls" End Sub
tu peux également l'enregistrer sous : "nom du fichier_nom de l'utilisateur_date_heure.xls"
Pour cela, la macro complète devient :
Sub enregistrement() Dim NomFic As String, utilisateur As String NomFic = ActiveWorkbook.Path & "\" & Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) utilisateur = Environ("username") ActiveWorkbook.SaveAs NomFic & " " & utilisateur & " " & Format(Date, "ddmmyyyy") & " " & Format(Time, "hhmmss") & ".xls" End Sub
Bon ok, je le conçois, ça nous fait des noms de fichiers à rallonge... Mais quel bonheur pour les classer!!!
bruiz
Messages postés
123
Date d'inscription
dimanche 23 mars 2008
Statut
Membre
Dernière intervention
10 octobre 2022
1
16 mars 2010 à 14:10
16 mars 2010 à 14:10
re bonjour,
j'ai essayé effectivement la macro est protégée mais comment sortir la protection pour modifier la macro ?
D'autre part je voudrais creer un raccourci sur le bureau pour lancer automatiquement le modèle; le pb est qu'a chaque fois le modèle est enregistré. Auparavant sous xp on pouvait lancer un modele et lors de l'enregistrement on proposait systématiquement un fichier xls et non xlt. Apparemment ce n'est plus possible sous windows 7 ; j'ai crée le raccourci suivant :
"C:\Users\....\AppData\Roaming\Microsoft\Modèles\toto..xlt" et je voudrais lors de l'enregistrement que soit proposé un fichier xls. Est ce possible.
je ne sais pas si je suis très clair.
Merci tout de meme pour ton aide et tes compétences très utiles pour un novice comme moi.
Merci egalement de me donner la solution pour resortir la protection des macros.
A tout a l'heure
j'ai essayé effectivement la macro est protégée mais comment sortir la protection pour modifier la macro ?
D'autre part je voudrais creer un raccourci sur le bureau pour lancer automatiquement le modèle; le pb est qu'a chaque fois le modèle est enregistré. Auparavant sous xp on pouvait lancer un modele et lors de l'enregistrement on proposait systématiquement un fichier xls et non xlt. Apparemment ce n'est plus possible sous windows 7 ; j'ai crée le raccourci suivant :
"C:\Users\....\AppData\Roaming\Microsoft\Modèles\toto..xlt" et je voudrais lors de l'enregistrement que soit proposé un fichier xls. Est ce possible.
je ne sais pas si je suis très clair.
Merci tout de meme pour ton aide et tes compétences très utiles pour un novice comme moi.
Merci egalement de me donner la solution pour resortir la protection des macros.
A tout a l'heure
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 741
16 mars 2010 à 14:24
16 mars 2010 à 14:24
comment sortir la protection pour modifier la macro ?
double clic sur VBAProject et saisir son mot de passe...
Pour l'enregistrement, le plus simple est de créer un bouton* de commande sur ta feuille et de coller l'un des deux codes que je t'ai mis précédemment dans le code du bouton. Exemple :
* pour le créer : Affichage/barred'outils/boîte à outils controles
double clic sur VBAProject et saisir son mot de passe...
Pour l'enregistrement, le plus simple est de créer un bouton* de commande sur ta feuille et de coller l'un des deux codes que je t'ai mis précédemment dans le code du bouton. Exemple :
Private Sub CommandButton1_Click() Dim NomFic As String, utilisateur As String NomFic = ActiveWorkbook.Path & "\" & Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) utilisateur = Environ("username") ActiveWorkbook.SaveAs NomFic & " " & utilisateur & " " & Format(Date, "ddmmyyyy") & " " & Format(Time, "hhmmss") & ".xls" End Sub
* pour le créer : Affichage/barred'outils/boîte à outils controles
bruiz
Messages postés
123
Date d'inscription
dimanche 23 mars 2008
Statut
Membre
Dernière intervention
10 octobre 2022
1
16 mars 2010 à 14:41
16 mars 2010 à 14:41
tu vas finir par me trouver un peu penible...
mais la macro me renvoie un message d'erreur identiqaue à toute à l'heure :
erreur de compilation end sub attendu
Sub enregistrement()
'
' enregistrement Macro
' Macro enregistrée le 16/03/2010 par ...
Private Sub CommandButton1_Click()
Dim NomFic As String, utilisateur As String
NomFic = ActiveWorkbook.Path & "\" & Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4)
utilisateur = Environ("username")
ActiveWorkbook.SaveAs NomFic & " " & utilisateur & " " & Format(Date, "ddmmyyyy") & " " & Format(Time, "hhmmss") & ".xls"
End Sub
mais la macro me renvoie un message d'erreur identiqaue à toute à l'heure :
erreur de compilation end sub attendu
Sub enregistrement()
'
' enregistrement Macro
' Macro enregistrée le 16/03/2010 par ...
Private Sub CommandButton1_Click()
Dim NomFic As String, utilisateur As String
NomFic = ActiveWorkbook.Path & "\" & Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4)
utilisateur = Environ("username")
ActiveWorkbook.SaveAs NomFic & " " & utilisateur & " " & Format(Date, "ddmmyyyy") & " " & Format(Time, "hhmmss") & ".xls"
End Sub
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 741
Modifié par pijaku le 16/03/2010 à 14:49
Modifié par pijaku le 16/03/2010 à 14:49
je te place en gras les deux lignes qui posent problème :
Une "Sub" correspond à une procédure. Ici, tu en ouvres 2...
Dessines ton bouton de commande, double clic dessus, va apparaitre :
entre ces 2 lignes copie colle ce code :
ce qui te donne au final :
Sub enregistrement() ' ' enregistrement Macro ' Macro enregistrée le 16/03/2010 par ... Private Sub CommandButton1_Click() Dim NomFic As String, utilisateur As String NomFic = ActiveWorkbook.Path & "\" & Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) utilisateur = Environ("username") ActiveWorkbook.SaveAs NomFic & " " & utilisateur & " " & Format(Date, "ddmmyyyy") & " " & Format(Time, "hhmmss") & ".xls" End Sub
Une "Sub" correspond à une procédure. Ici, tu en ouvres 2...
Dessines ton bouton de commande, double clic dessus, va apparaitre :
Private Sub CommandButton1_Click() End Sub
entre ces 2 lignes copie colle ce code :
Dim NomFic As String, utilisateur As String NomFic = ActiveWorkbook.Path & "\" & Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) utilisateur = Environ("username") ActiveWorkbook.SaveAs NomFic & " " & utilisateur & " " & Format(Date, "ddmmyyyy") & " " & Format(Time, "hhmmss") & ".xls"
ce qui te donne au final :
Private Sub CommandButton1_Click() Dim NomFic As String, utilisateur As String NomFic = ActiveWorkbook.Path & "\" & Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) utilisateur = Environ("username") ActiveWorkbook.SaveAs NomFic & " " & utilisateur & " " & Format(Date, "ddmmyyyy") & " " & Format(Time, "hhmmss") & ".xls" End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bruiz
Messages postés
123
Date d'inscription
dimanche 23 mars 2008
Statut
Membre
Dernière intervention
10 octobre 2022
1
16 mars 2010 à 15:22
16 mars 2010 à 15:22
je suis vraiment pénible t je m'en excuse;
ce n'est pas très bon car si on appuie plusieurs fois sur ce bouton le fichier sauvegarger prends des dimensions énormes . essai. Bruno 16032010151706 Bruno 16032010 151708 Bruno 16032010 151708.xls
etc... au lieu d'ecraser la version precedente.
ne peut-on pas faire plus simple en ouvrant la fenetre enregistrer sous
encore une fois je suis désolé de t'embeter mais ton aide est précieuse...
merci encore
ce n'est pas très bon car si on appuie plusieurs fois sur ce bouton le fichier sauvegarger prends des dimensions énormes . essai. Bruno 16032010151706 Bruno 16032010 151708 Bruno 16032010 151708.xls
etc... au lieu d'ecraser la version precedente.
ne peut-on pas faire plus simple en ouvrant la fenetre enregistrer sous
encore une fois je suis désolé de t'embeter mais ton aide est précieuse...
merci encore
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 741
Modifié par pijaku le 16/03/2010 à 15:48
Modifié par pijaku le 16/03/2010 à 15:48
J'avais omis ce détail.....
Oui effectivement le plus simple est de lancer :
Sinon avec mon code précédent, il eu fallut un test...
Oui effectivement le plus simple est de lancer :
Application.FileDialog(msoFileDialogSaveAs).Show
Sinon avec mon code précédent, il eu fallut un test...
bruiz
Messages postés
123
Date d'inscription
dimanche 23 mars 2008
Statut
Membre
Dernière intervention
10 octobre 2022
1
16 mars 2010 à 16:26
16 mars 2010 à 16:26
c'est presque parfait. Merci bcp pour l'aide et tes connaissances en macros et commandes excel;
c'est vraiment sympa.
connais tu des bouquins sur les macros excel ?
et mon dernier soucis je voudrais pouvoir creer un raccourci sur le bureau en ouvrant le modele mais etre sur que l'on enregistre sur un fichier xls et non xlt.
je viens de verifier cela fonctionne sous xp mais apparemment pas sous windows 7
si tu as une astuce je suis preneur.
Merci encore
c'est vraiment sympa.
connais tu des bouquins sur les macros excel ?
et mon dernier soucis je voudrais pouvoir creer un raccourci sur le bureau en ouvrant le modele mais etre sur que l'on enregistre sur un fichier xls et non xlt.
je viens de verifier cela fonctionne sous xp mais apparemment pas sous windows 7
si tu as une astuce je suis preneur.
Merci encore
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 741
16 mars 2010 à 17:35
16 mars 2010 à 17:35
Désolé, là je ne peux plus t'aider... Je n'ai pas seven.
Bonne continuation
Bonne continuation
bruiz
Messages postés
123
Date d'inscription
dimanche 23 mars 2008
Statut
Membre
Dernière intervention
10 octobre 2022
1
16 mars 2010 à 18:05
16 mars 2010 à 18:05
merci bcp pour l'aide très utile
CDLT
CDLT
16 mars 2010 à 11:50
voici ma macro peux tu m'aider STP. (je ne suis vraiment pas un expert des macros) . Merci d'avance
(pour l'instant j'ai mis toto comme mot de passe)
le message d'erreur est : Erreur de compilation End sub attendu
je dois faire une groose erreur tellement je suis ignare dans les macros
merci encore....
____________________________________________________________________________
Sub affichagequantité()
'
' affichagequantité Macro
' Macro enregistrée le 27/01/2010 par Bruno
'
'
Sub macro_machin()
Dim trux as truc,
Dim machin As machin
ActiveSheet.Unprotect "toto"
ActiveSheet.Unprotect
Selection.AutoFilter Field:=6, Criteria1:="<>0", Operator:=xlAnd
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.Protect "toto"
End Sub
16 mars 2010 à 11:59
et cela fonctionnera...
Donc ton code :
ps1 : n'oublies pas de remplacer "toto" par ton vrai mot de passe.....
ps2 : je pensais que les noms (machin, truc etc...) allaient te mettre la puce à l'oreille. Dans ce cas là, une seule solution : un bon bol de café bien noir en intraveineuse...
N'hésite pas à revenir si tu en as besoin, ce n'est pas une moquerie méchante.
@