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 :

Problème codification VBA


Sujet :

Macros et VBA Excel

  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 : 63
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut Problème codification VBA
    Bonjour,

    J'ai tapé le code ci-dessous qui me permet, lorsque je clique dans une cellule, l'ouverture d'un formulaire. Lors du premier clic, il me demande un mot de passe. Mais dans l'état actuel, il me demande le mot de passe à chaque clic.
    Pouvez-vous me dire où j'ai fait une erreur et si vous pouvez m'aider ?
    Merci par avance

    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
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        Dim Col As Long
        Dim Lig As Long
        Dim A As Long
        Dim Vpasse As Long
        Vpasse = Val(InputBox("Mot de passe ?"))
        If Vpasse < 6100 Then Exit Sub
        If Vpasse = 6100 Then
            If Intersect(Range("ZO1"), ActiveCell) Is Nothing Then Exit Sub
            If IsEmpty(ActiveCell.Value) Then
                Lig = 6
                Col = ActiveCell.Column
                A = Cells(Lig, Col).Value
                If A = 0 Then Col = Col - 1
                If Weekday(Cells(Lig, Col).Value) <> 1 And Weekday(Cells(Lig, Col).Value) <> 7 Then
                    Load FrmAbs
                    FrmAbs.Show
                End If
            End If
        End If
        Exit Sub
    End Sub
    J’entends et j’oublie,
    Je vois et je me souviens,
    Je fais et je comprends.
    Confucius

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 95
    Points : 95
    Points
    95
    Par défaut
    Bonjour,
    Il est tout à fais normal qu'il te demande un mdp à chaque fois, car si ta fonction est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Alors à chaque fois que tu cliqueras ou utiliseras les flèches pour changer, tu auras la demande de mdp.

  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 : 63
    Localisation : France

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

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

    Et comment résoudre ce problème ?
    Merci
    J’entends et j’oublie,
    Je vois et je me souviens,
    Je fais et je comprends.
    Confucius

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Dim flag As Boolean
     
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim motpasse As String
    If Not flag Then
    Do
    motpasse = InputBox("motpasse")
    Loop Until motpasse = "BEURK"
    flag = True
    End If
    End Sub
    Elle est pas belle la vie ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 95
    Points : 95
    Points
    95
    Par défaut
    Oui c'est ca lol
    c'est le genre que je voulais mettre mais j'avais un doute sur l'execution.

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

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Citation Envoyé par random Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Dim flag As Boolean
     
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim motpasse As String
    If Not flag Then
    Do
    motpasse = InputBox("motpasse")
    Loop Until motpasse = "BEURK"
    flag = True
    End If
    End Sub
    Bonjour,
    Mais je garde quand même le reste du code ???
    Merci
    J’entends et j’oublie,
    Je vois et je me souviens,
    Je fais et je comprends.
    Confucius

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    ben oui
    Elle est pas belle la vie ?

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

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Je suis débutant en la matière et ce n'est pas toujours évident.
    J'essaie et je te tiens au courant.
    A++
    J’entends et j’oublie,
    Je vois et je me souviens,
    Je fais et je comprends.
    Confucius

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

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Donc mon nouveau code est comme ça :

    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
    Dim Flag As Boolean
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim motpasse As String
    If Not Flag Then
    Do
    motpasse = Inputbox("Taper le mot de passe")
    Loop Until motpasse = "6100"
    Flag = True
    End If
    End Sub
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Col As Long
    Dim Lig As Long
    Dim A As Long
        If Intersect(Range("ZO1"), ActiveCell) Is Nothing Then Exit Sub
        If IsEmpty(ActiveCell.Value) Then
    Lig = 6
    Col = ActiveCell.Column
    A = Cells(Lig, Col).Value
        If A = 0 Then Col = Col - 1
        If Weekday(Cells(Lig, Col).Value) <> 1 And Weekday(Cells(Lig, Col).Value) <> 7 Then
    Load FrmAbs
    FrmAbs.Show
        End If
     End If
    End Sub
    J’entends et j’oublie,
    Je vois et je me souviens,
    Je fais et je comprends.
    Confucius

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

Discussions similaires

  1. Problème sql vba access
    Par aaliyan dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 30/04/2007, 14h02
  2. Problème EXCEL VBA
    Par olivierm34 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/03/2007, 23h52
  3. Problème valeurs[VBA]
    Par Yanmeunier dans le forum Access
    Réponses: 1
    Dernier message: 18/05/2006, 15h17
  4. Problème de VBA de passage de 2000 à 2002
    Par Oberown dans le forum Access
    Réponses: 9
    Dernier message: 10/05/2006, 14h51
  5. problème avec VBA
    Par Delph dans le forum Langage
    Réponses: 2
    Dernier message: 19/08/2002, 13h15

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