Besoin d'explication pour ces lignes de code

jean300 Messages postés 382 Statut Membre -  
jean300 Messages postés 382 Statut Membre -
Bonjour,
Comment s'utilise ces lignes de code Svp
En vous remerciant

Public Const BackupDisplayCode = "seigle"


Public Sub BackupDisplay()
    Dim Reponse As Variant
    Reponse = Application.InputBox("Code Backup Display", Type:=2)
    If VarType(Reponse) = vbBoolean Then Exit Sub
    If Reponse = BackupDisplayCode Then Call AfficherFeuilles(ForcerAffichage:=True)
End Sub


Configuration: Windows / Firefox 66.0

3 réponses

  1. T3chN0g3n Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   1 217
     
    Quand la macro est appelé (bouton ...) l'utilisateur doit rentrer un code dans une fenêtre, et si le code est bon sa affiche une feuille en particulier :p

     
    Public Const BackupDisplayCode = "seigle" 'Variable  pour définir le mot de passe
    
    
    Public Sub BackupDisplay() 'Nom de la macro
        Dim Reponse As Variant 'Définition d'une variable pour ce que tape l'utilisateur
        Reponse = Application.InputBox("Code Backup Display", Type:=2) 'Ouverture d'une fenêtre pour rentrer le code et l'écrire dans la variable "reponse"
        If VarType(Reponse) = vbBoolean Then Exit Sub 'Si la réponse est booléenne (1 ou 0) alors on quitte la macro
        If Reponse = BackupDisplayCode Then Call AfficherFeuilles(ForcerAffichage:=True) ' Si la réponse correspond au code défini (variable Backupdisplaycode) on appelle une macro qui doit afficher une feuille
    End Sub


    je suis pas expert, y'a peut être des erreurs/imprécisions mais c'est l'idée ;)
    0
  2. jean300 Messages postés 382 Statut Membre 14
     
    Bonjour T3chN0g3n et merci de me répondre
    J'avais omis de mettre cette ligne en début du code :
    'Back up affichage si inaccessibilité des feuilles
    'remplace le mdp si perdu

    Mais je ne comprend pas comment ce code fonctionne
    0
    1. T3chN0g3n Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   1 217
       
      C'est un "bout" seulement, il doit y avoir d'autres sub. ça bout ne code ne permet pas de remplacer le mot de passe (inscrit dans le string "BackupDisplayCode") et ça n'explique pas comment est appelé ce sub.
      0
  3. jean300 Messages postés 382 Statut Membre 14
     
    Voici ce qui est associé au bouton Valider

    Private Sub BoutonValider_Click()
    
        Dim i As Long
        Dim ErrNb As Integer
        Dim Rôle As String
        Static NbEssais As Integer
        
        If Len(UtilisateurConnecté) > 0 Then Exit Sub
            
        'Charge les tables de paramètres généraux de la feuille Base (si pas déjà fait)
        If Not ParamGénérauxChargés Then If Not ChargerParamètresGénéraux Then Exit Sub
        
        NbEssais = NbEssais + 1
        If NbEssais > 3 Then
            MsgBox "Nombre d'essais maximum atteint. Veuillez contactez l'administrateur..."
            Unload Me
            Exit Sub
        End If
        
        'Cherche l'utilisateur dans la table
        For i = ParamTabUtilisateursLig0 + 1 To ParamTabUtilisateursLig0 + ParamNbUtilisateurs
            'Utilisateur trouvé, vérifie le mot de passe
            If Trim(UCase(Me.tbUtilisateur.Text)) = Trim(UCase(ThisWorkbook.Sheets(ParamNomFeuille).Range(ParamTabUtilisateursColUtilisateur & i).Value)) Then
                'Mot de passe incorrect
                If Me.tbMotDePasse.Text <> ThisWorkbook.Sheets(ParamNomFeuille).Range(ParamTabUtilisateursColMotDePasse & i).Value Then
                    'Mot de passe incorrect
                    MsgBox "Nom d'utilisateur ou mot de passe incorrect"
                    Exit Sub
                End If
                
                'Mot de passe correct
                UtilisateurConnecté = Trim(ThisWorkbook.Sheets(ParamNomFeuille).Range(ParamTabUtilisateursColUtilisateur & i).Value)
                RôleUtilisateurConnecté = Trim(ThisWorkbook.Sheets(ParamNomFeuille).Range(ParamTabUtilisateursColRôle & i).Value)
                ThisWorkbook.Sheets(ParamNomFeuille).Range(ParamCelluleUtilisateurConnecté).Value = UtilisateurConnecté
                
                Select Case RôleUtilisateurConnecté
                    Case ParamRôleAdmin
                        Rôle = "Administrateur"
                    
                      Case ParamRôleAdjoint
                        Rôle = "Administrateur adjoint"
                        
                    Case ParamRôleDélégué
                        Rôle = "Administrateur délégué"
    
                    Case Else
                        Rôle = "Utilisateur"
                        
                        'MsgBox "Rôle de l'utilisateur " & UtilisateurConnecté & " non défini comme " & ParamRôleAdmin & _
                               " ou " & ParamRôleDélégué & " ou " & ParamRôleNormal
                        'Rôle = "Utilisateur"
                End Select
                
                Call PopUpMessage(1, Rôle & " " & UtilisateurConnecté & " connecté...", "Connexion", vbExclamation)
                
                'Charge les tables de paramètres Utilisateur de la feuille Base (si pas déjà fait)
                If Not ChargerParamètresUtilisateur Then
                    If RôleUtilisateurConnecté = ParamRôleAdmin Then ThisWorkbook.Sheets(ParamNomFeuille).Visible = True
                    Exit Sub
                End If
                
                'Affiche ou masque les feuilles
                If AfficherLesFeuilles Then
                    If RôleUtilisateurConnecté = ParamRôleAdmin Then
                        Call AfficherFeuilles(ForcerAffichage:=True)
                    Else
                        Call AfficherFeuilles(ForcerAffichage:=False)
                    End If
                Else
                    If RôleUtilisateurConnecté = ParamRôleAdmin Then
                        Call AfficherFeuilles(ForcerAffichage:=True)
                    Else
                        Call MasquerFeuilles
                    End If
                End If
                
                Unload Me
                Exit Sub
            End If
        Next i
        
        'Nom d'utilisateur incorrect
        If i > ParamTabUtilisateursLig0 + ParamNbUtilisateurs Then
            MsgBox "Nom d'utilisateur ou mot de passe incorrect"
        End If
    End Sub
    0