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 :

Aide pour complèter une macro VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut Aide pour complèter une macro VBA
    Bonjour à tous,

    Voici mon problème, dans une feuille de calcul Excel lorsque je clique dans la cellule A1, une UserForm (FrmSai) apparaît, c'est une UserForm où l'on demande de saisir un mot de passe, lorsque celui-ci est bon une autre UserForm (FrmTrav) est affichée.
    Mon soucis est qu'à chaque fois que je ferme l'UserForm FrmTrav je suis obligé de cliquer de nouveau dans la cellule A1 et à nouveau il m'est demandé le mot de passe, c'est cette dernière opération que je ne souhaite plus utiliser lorsque l'utilisateur a déjà tapé le mot de passe une fois. En clair, une fois qu'il a tapé le mot de passe une fois, il lui suffira par la suite de cliquer dans la cellule A1 pour l'UserForm FrmTrav soit affichée.
    Merci pour votre aide

    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
    Private Sub CommandButton1_Click()
    If Txt1.Value = "APEL" Then
    Unload Me
    Application.ScreenUpdating = False
    For Each feuil In Application.Sheets
    feuil.Unprotect Password:="APEL"
    Next feuil
    Application.ScreenUpdating = True
    MsgBox "Les feuilles ne sont plus protégées!!", vbCritical, "Attention!!"
    Load FrmTrav
    FrmTrav.Show
    Else
    MsgBox "Vous n'avez pas tapé le bon de passe!!" + Chr(10) + "Vous ne pouvez accéder à cette action!!"
    Unload Me
        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    End If
    End Sub

  2. #2
    Membre chevronné
    Inscrit en
    Octobre 2008
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Octobre 2008
    Messages : 273
    Par défaut
    Bonjour,
    Tu peux définir une variable en static qui changerait de valeur au premier clic dans A1.
    Tu peux tester sa valeur pour afficher ou non ton userform.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Bonjour,

    Mais comment fait-on cela ?

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Static mavariable As TypeMaVariable
    A mettre à l'intérieur d'une procédure/fonction.

    Lis l'aide en ligne associée au mot clé static.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Bonjour,

    Voilà j'ai tapé ces 2 codes, mais cela ne fonctionne pas. Lorsque je clique dans la cellule A1, rien ne se passe. Le formulaire du mot de passe (FrmSai) ne s'affiche pas, ni le formulaire (FrmTrav).
    Pouvez-vous me dire ce qui ne va pas ?

    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
    Private Sub Worksheet_SelectionChange(ByVal target As Range)
    Dim COL As Long
    Dim lig As Long
    Dim a As Long
        Static PW As Boolean
        If Not PW Then
            If FrmSai.Txt1.Value = "APEL" Then PW = True
            If PW = True Then
        If Intersect(Range("A1"), ActiveCell) Is Nothing Then Exit Sub
            If IsEmpty(ActiveCell.Value) Then
        lig = 5
        COL = ActiveCell.Column
        a = Cells(lig, COL).Value
            If a = 0 Then COL = COL + 1
            Load FrmSai
            FrmSai.Show
            End If
            End If
            End If
    End Sub
    Sub PW()
    PW = "APEL"
    End Sub
    Merci par avance

  6. #6
    Membre chevronné
    Inscrit en
    Octobre 2008
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Octobre 2008
    Messages : 273
    Par défaut
    Bonjour,
    Que vaut PW ?

    Mets un point d'arrêt et va voir quelle valeur il a.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Besoin d'aide pour compléter une macro SVP :)
    Par Al385 dans le forum Excel
    Réponses: 25
    Dernier message: 16/06/2015, 17h37
  2. Besoin d'aide pour finir une macro VBA
    Par Poulette44 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/11/2011, 02h48
  3. Recherche de l'aide pour améliorer une macro excel
    Par Yul80 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/09/2008, 10h21
  4. Aide pour finaliser une macro
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/08/2008, 08h02
  5. Réponses: 22
    Dernier message: 20/05/2008, 10h25

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