IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

introduire un mot de passe dans la ligne de code VBA


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 55
    Points : 37
    Points
    37
    Par défaut introduire un mot de passe dans la ligne de code VBA
    Bonjour à tous

    je cherche à introduire le mot de passe que je souhaite dans une ligne VBA.

    Que dois je rajouter à la ligne : ActiveSheet.Protect ?

    Merci d'avance

  2. #2
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    bonjour,

    une exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub Macro1()
     
    Dim wb As Workbook
    Dim Fl As Worksheet
     
    Set wb = ThisWorkbook
    Set Fl = wb.Worksheets("Feuil1")
     
    Fl.Protect Password:="test"
     
    End Sub

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 55
    Points : 37
    Points
    37
    Par défaut
    Merci a tous pour votre aide

    Donc voici mes lignes de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub fermeture()
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
     
    Dim wb As Workbook
    Dim Fl As Worksheet
     
    Set wb = ThisWorkbook
    Set Fl = wb.Worksheets("Base d'article")
     
    Fl.Protect Password:="test"
     
     
    MsgBox " Merci d'avoir utilisé le logiciel DEVIS "
    End Sub
    Par contre que puis je insérer à la place de base d'article pour prendre tous les onglets, je n'arrive pas à trouver?

  4. #4
    Membre actif Avatar de Many31
    Profil pro
    Inscrit en
    Février 2007
    Messages
    198
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 198
    Points : 210
    Points
    210
    Par défaut
    Ajoute en début de code une gestion d'erreur

    exemple: On error resume Next (qui poursuit le code en cas d'erreur)
    ou encore On error Goto tamarque

    pour la marque un exemple:
    Dans le deuxième exemple si la macro rencontre une erreur elle ira directement à la ligne ou se trouve la "marque"

    Pour être complet ajoute également la ligne Application.displayAlerts qui inhibe les messages d'erreurs (une partie)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub exemple()
     
        On Error Resume Next
        Application.DisplayAlerts = False
     
        'Ton code
     
        Application.DisplayAlerts = True
    End Sub

    EDIT: évite de changer ta question en cours de route

    Pour ton autre question:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 1 To Worksheets.Count
        MsgBox Worksheets(i).Name
    Next

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 55
    Points : 37
    Points
    37
    Par défaut
    désolé pour ce changement de question, je me suis aperçus que c'été plus facile de verrouiller tous les onglets^^.mais je ne sais pas quoi mettre...

  6. #6
    Membre actif Avatar de Many31
    Profil pro
    Inscrit en
    Février 2007
    Messages
    198
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 198
    Points : 210
    Points
    210
    Par défaut
    Déjà dans ton code tu as deux sub l'une dans l'autre... Fermeture et Workbook_BeforeClose. Sachant que Workbook_BeforeClose est un événement qui se produit au moment ou tu fermes ton classeur et qui doit être placé dans l'objet "ThiWorkbook" (une feuille avec un X vert dans ton code)

    bref voila le code exact:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim i As Integer
    On Error Resume Next
    For i = 1 To Worksheets.Count
        Worksheets(i).Protect Password:="test"
    Next
    MsgBox " Merci d'avoir utilisé le logiciel DEVIS "
    End Sub
    Qui va donc mettre un mot de passe sur toutes les feuilles de ton classeur entre le moment ou l'utilisateur va fermer le classeur et le moment ou il sera réellement fermé... Avec une petite gestion d'erreur qui ne devrait pas servir

Discussions similaires

  1. Erreur dans une ligne de code VBA
    Par chpierro62 dans le forum Général VBA
    Réponses: 1
    Dernier message: 13/01/2012, 22h41
  2. introduire le mot de passe root dans un code JAVA
    Par L'aigle de Carthage dans le forum Linux
    Réponses: 9
    Dernier message: 06/05/2011, 12h32
  3. Bug dans une ligne de code VBA
    Par orlacit dans le forum VBA Access
    Réponses: 5
    Dernier message: 08/11/2007, 15h25
  4. inclure mot de passe dans ligne de commande
    Par torNAdE dans le forum Sécurité
    Réponses: 1
    Dernier message: 02/08/2006, 11h16
  5. Smbclient mettre le mot de passe dans la ligne de commande
    Par EpOnYmE187 dans le forum Réseau
    Réponses: 2
    Dernier message: 28/07/2005, 19h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo