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 :

activer l'execution par mot de passe


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 132
    Points : 50
    Points
    50
    Par défaut activer l'execution par mot de passe
    bonjour voici mon 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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Sub SUPPR()
    '
    ' SUPPR Macro
    ' Macro enregistrée le 2008-03-30 par André
    msg = "TOUTE LES DONNÉES SERONT SUPPRIMÉ.... VOULEZ-VOUS CONTINUER ?"
    Style = vbYesNo + vbDefaultButton1
    Title = "SUPPRIMER"
    Réponse = MsgBox(msg, Style, Title)
    If Réponse = vbYes Then
    Set MaSélection = Application.ActiveCell
        Cells.Select
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        Selection.Borders(xlEdgeLeft).LineStyle = xlNone
        Selection.Borders(xlEdgeTop).LineStyle = xlNone
        Selection.Borders(xlEdgeBottom).LineStyle = xlNone
        Selection.Borders(xlEdgeRight).LineStyle = xlNone
        Selection.Borders(xlInsideVertical).LineStyle = xlNone
        Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
        Selection.Interior.ColorIndex = xlNone
        Selection.ClearContents
        Range("A1").Select
    Else
    Range("A2").Select
    End If
     
    End Sub
    il ouvre une boite d'avertissement , oui ou non

    j'aimerais que en clicant "oui" il me demande un mot de passe avant de supprimer si le mot de passe est correct il execute si non il annule la demande (le mot de passe je pourrai defenir?)
    le code presentement est trop facile a executer , besoin de securité

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Tu pourrais inclure une InputBox, ce qui te permettrait d'avoir une zone de saisie dont tu pourras tester la valeur.

    Philippe

  3. #3
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    bonjour lebeniste Philippe le forum pour faire jolie tu peus passer par un user aussi . protection suffisante pour un non bidouilleur excel
    SALUTATIONS

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 132
    Points : 50
    Points
    50
    Par défaut
    merci laetitia
    je me suis amusé comme un fou , j'avais jamais fait de useform

    il m'a fallut un peux de temps a comprendre mais sans le vouloir j'fait un double click sur le useform et j'ai vu apparaitre un code

    j'ai adapter et ca fonctionne .
    question il est nescessaire le petit timer ( sablier) ???
    peut-on enlever ca ?

    p.s.:peut-etre je vais reussir maintenant a me faire un listebox style html avec ces useforms


    merci merci

    une autre question

    il y avait dans les feuilles une feuille gestion que j'ai creer pour le bon fonctionnement du useform..... elle s'en vas ou et elle sert a quoi cette feuille la ????? elle est plus dans les onglet ???

    afin de tester , j'ai mis 3 ou 4 fois le mauvais mot de passe , j'ai cliqué annuler
    et un message d'erreur a apparut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Next i
    TextBox1.SetFocus: Beep dans cette ligne 
    End If
    peut-on limiter le nombre d'essais , disons 3 et apres la fenetre se ferme sans executer la macro ????


    je demande beaucoup mais je ne connais rien et veux tout apprendre

  5. #5
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    bonjour lebeniste Philippe le forum la feuille gestion ne sert a rien ce code a l origine c etait pour cacher une feuille ou la montrer
    un autre exemple avec 3 essais sans label clignotant
    SALUTATIONS

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 132
    Points : 50
    Points
    50
    Par défaut
    salut laetitia et le forum

    j'aime bien ton deuxieme , j'ai adapter et le probleme suivant arrive , rien de bien gros mais bon tu pourra surement me diriger:

    quand je clic pour activer le useform la boite ouvre avec l'option entrer le code , validation , annuler. identique a la tienne. sauf que dans la tienne je peux entrer un code et faire "enter" tandit que dans la mienne je dois absolument faire valider si non elle se ferme automatiquement.


    je ne peux entrer un code et appuiyer sur "enter" ???
    ca peux dependre de quoi ?

    j'avais oublier , en plus dans la tienne le curseur se place automatiquement dans la case d'entrer de code , et la j'ai copier ton code en entier .

  7. #7
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    bonjour lebeniste le forum
    j'avais oublier , en plus dans la tienne le curseur se place automatiquement dans la case d'entrer de code , et la j'ai copier ton code en entier
    pour ca c est TextBox1.SetFocus

    pour le reste sans voir le code pas facile tu as bien pris une textbox!!!!
    SALUTATIONS

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 132
    Points : 50
    Points
    50
    Par défaut
    salut laetita

    oui j'ai bien mis un textbox,
    voila mon 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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    Option Explicit
    Option Compare Text ' majuscule & minuscule
    Dim essai As Byte, i As Byte
    Private Sub CommandButton1_Click()
    If TextBox1 = "andre" Then
    Unload Me
    MsgBox "continuation de ta macro" 'ton code
    Sheets("INVENTAIRE").Select
        Range("A10:D65536").Select
        Selection.ClearContents
        Sheets("FACTURER").Select
        Range("B10:H65536").Select
        Range("B10:H65536").Select
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        Selection.Borders(xlEdgeLeft).LineStyle = xlNone
        Selection.Borders(xlEdgeTop).LineStyle = xlNone
        Selection.Borders(xlEdgeBottom).LineStyle = xlNone
        Selection.Borders(xlEdgeRight).LineStyle = xlNone
        Selection.Borders(xlInsideVertical).LineStyle = xlNone
        Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
        Selection.Interior.ColorIndex = xlNone
        Selection.ClearContents
        Sheets("MATERIELS").Select
        Range("B14:J65536").Select
        Selection.ClearContents
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        Selection.Borders(xlEdgeLeft).LineStyle = xlNone
        Selection.Borders(xlEdgeTop).LineStyle = xlNone
        Selection.Borders(xlEdgeBottom).LineStyle = xlNone
        Selection.Borders(xlEdgeRight).LineStyle = xlNone
        Selection.Borders(xlInsideVertical).LineStyle = xlNone
        Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
        Selection.Interior.ColorIndex = xlNone
        Sheets("CLIENTS").Select
        Range("D7:J65536").Select
        Selection.ClearContents
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        Selection.Borders(xlEdgeLeft).LineStyle = xlNone
        Selection.Borders(xlEdgeTop).LineStyle = xlNone
        Selection.Borders(xlEdgeBottom).LineStyle = xlNone
        Selection.Borders(xlEdgeRight).LineStyle = xlNone
        Selection.Borders(xlInsideVertical).LineStyle = xlNone
        Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
        Selection.Interior.ColorIndex = xlNone
       Sheets("FACTURE").Select
        Range("A21:B43").Select
        Selection.ClearContents
        Rows("8:10").Select
        Selection.EntireRow.Hidden = False
        Range("F9").Select
        ActiveCell.FormulaR1C1 = "1"
        Rows("9:9").Select
        Selection.EntireRow.Hidden = True
        Range("A21").Select
    Else
    essai = essai - 1
    Label2.Caption = "plus que...   " & essai & "    essais": Beep
    TextBox1.SetFocus: TextBox1 = ""
    If essai = 0 Then
    Unload Me
    End If: End If
    End Sub
    Private Sub CommandButton2_Click()
    Unload Me
    End Sub
     
    Private Sub Label2_Click()
     
    End Sub
     
    Private Sub UserForm_Initialize()
    essai = 3
    End Sub
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    Cancel = CloseMode = vbFormControlMenu
    End Sub
    il est long mais je ne suis pas encore a l'aise avec les choses que je peux enlever
    merci

  9. #9
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    rebonjour le fil le forum ton bouton valider
    dans proprietees du bouton valider regarde si a defaut tu est bien a true!! & et non a false
    SALUTATIONS

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 132
    Points : 50
    Points
    50
    Par défaut
    oui il est bien a true sur la ligne default
    Images attachées Images attachées  

  11. #11
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    bonjour lebeniste le forum
    j ai vu que tu travaillais sur un portable j ai essaye sur le mieux pas de probleme
    j avais oublie de te dire pour que la textbox ait le focus a l ouverture de userform
    clic droit sur l userform dans vba ordre de tabulation & tu mets la textbox1 en haut eventuellement le bouton valider en 2
    pour le 2 pb...je vois pas bien pour la touche enter essai quand meme de rajouter ce code avec un peu de chance!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii = 13 Then
     CommandButton1_Click
    End If
    End Sub
    ou celui la pas les 2 meme temps

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then
    CommandButton1_Click
    End If
    End Sub
    SALUTATIONS

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 132
    Points : 50
    Points
    50
    Par défaut
    salut laetitia

    en remontant le textbox1 au premier niveau ,c'est parfait le curseur se place dans la case .
    pour se qui est du code # 1 fonctionne pas

    et pour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then
    CommandButton1_Click
    End If
    End Sub
    et bien on a de la chance il fonctionne bien

    merci pour tout

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 132
    Points : 50
    Points
    50
    Par défaut
    petite question ,
    une fois que le mot de passe est entrée, une boite ouvre avec le message :
    "continuation de la macro "

    si je fais ok elle s'execute . si je fais le "X" elle s'execute quand meme ????

    dans quel portion de la macro je peut demander , execute si clic ok et fermer si clic "X" ?

    est-ce :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton2_Click()
    Unload Me if true ou quelque chose du genre ????
    End Sub

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/11/2008, 13h01
  2. Activer la protection par mot de passe sur l'écran de veille
    Par Raphs dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/11/2006, 16h36
  3. [VB.NET] Proteger mon site par mot de passe
    Par stephane93fr dans le forum ASP.NET
    Réponses: 8
    Dernier message: 19/01/2004, 08h53
  4. Acces au reseau proteger par mot de passe
    Par soumia dans le forum Bases de données
    Réponses: 13
    Dernier message: 19/11/2003, 14h39

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