Besoin d'explication pour ces lignes de code

Fermé
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 - Modifié le 11 avril 2019 à 13:24
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 - 12 avril 2019 à 07:59
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
A voir également:

3 réponses

T3chN0g3n Messages postés 4971 Date d'inscription samedi 16 février 2019 Statut Membre Dernière intervention 24 avril 2024 1 096
Modifié le 11 avril 2019 à 13:49
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
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
Modifié le 11 avril 2019 à 14:55
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
T3chN0g3n Messages postés 4971 Date d'inscription samedi 16 février 2019 Statut Membre Dernière intervention 24 avril 2024 1 096
Modifié le 11 avril 2019 à 15:01
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
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
12 avril 2019 à 07:59
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