J'ai un bouton sur mon formulaire qui efface tout le classeur de 8 feuilles. Je veux effacer de temps en temps, mais je détesterais le faire par accident. J'ai essayé de le googler, mais chaque résultat que j'ai trouvé suppose que j'ai une compréhension beaucoup plus ferme de VBA que moi. Comment puis-je faire en sorte que lorsque le bouton est cliqué, une boîte de dialogue s'affiche en disant "Cela effacera tout! Êtes-vous sûr? [Continuer] [Annuler]"? Merci.
Sur votre code de bouton existant, insérez simplement cette ligne avant la procédure:
If MsgBox("This will erase everything! Are you sure?", vbYesNo) = vbNo Then Exit Sub
Cela le forcera à quitter si l'utilisateur appuie sur non.
Créez un nouveau sous avec le code suivant et assignez-le à votre bouton. Remplacez "DeleteProcess" par le nom de votre code pour effectuer la suppression. Cela fera apparaître une boîte avec OK ou Annuler et appellera votre sous-suppression si vous appuyez sur OK et non si vous appuyez sur Annuler.
Sub AreYouSure()
Dim Sure As Integer
Sure = MsgBox("Are you sure?", vbOKCancel)
If Sure = 1 Then Call DeleteProcess
End Sub
Jesse
Créez simplement un formulaire utilisateur personnalisé qui s'affiche lorsque vous appuyez sur le bouton "Supprimer", puis liez le bouton Continuer au code réel qui effectue la suppression. Faites en sorte que le bouton Annuler masque le formulaire utilisateur.