Je suis nouveau à VBA.Avoir des défis pour le bouton de commande de code sur MS Excel VBA
J'ai une feuille de travail qui est protégée/verrouillée avec un mot de passe.
J'ai un contrôle CommandButton qui, lorsqu'il est cliqué, charge un formulaire utilisateur qui est utilisé pour entrer des enregistrements dans la feuille de calcul. Je le veux de telle sorte que lorsque le bouton de commande est cliqué, il demandera à l'utilisateur d'entrer le mot de passe non protégé (utilisé pour protéger/verrouiller la feuille de calcul), avant le chargement de l'UserForm.
Si l'utilisateur entre le mot de passe de déprotection correct, l'objet UserForm se charge. Si l'utilisateur entre le mot de passe de déprotection incorrect, un MsgBox affiche et l'UserForm ne chargera pas. Le problème est lorsque le bouton de commande est cliqué, l'utilisateur sera invité à entrer le mot de passe non protégé (boîte de dialogue Built-In Unprotect d'Excel), si l'utilisateur clique sur le bouton "Annuler", l'objet UserForm charge toujours. Ce n'est pas ce que je veux. Qu'est-ce que je veux est: Si le bouton "Annuler" est cliqué, le MsgBox affiche, et l'UserForm ne charge pas.
Ci-dessous mon code pour le bouton de commande:
Private Sub CommandButton1_Click()
On Error Resume Next
ActiveSheet.Unprotect
If Err <> 0 Then
MsgBox:
MsgBox "Incorrect Password. Unlock Failed!"
Else
UserForm3.Show
End If
End Sub