Besoin d'explication pour ces lignes de code

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

  • Votes
  • Date
  • Date décroissante
  1. 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 ;)
    1. 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
      1. 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.
    2. 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