MsgBox et Verrouillage et déverrouillage de cellules
Bonjour,
Comment verrouiller au démarrage du classeur Excel des cellules non verrouillées.
L'activation des macro au démarrage est rendu obligatoire.
Comment les déverrouiller si la réponse à un MsgBox est «Ok», les maintenir verrouillées si la réponse au MsgBox est «annuler»
Ci-dessous code associé à une icône « info »
[code VBA Excel 2003, Win 7 Pro Service Pack 1][/code]
Sub SortiesCaisseEspecesMiJournee_QuandClic()
'
' SortiesCaisseEspecesMiJournee_QuandClic Macro
' Macro enregistrée le 20/05/2014 par Antonin
'
'Affichage Msgbox Ok + Annuler + Icône information
Select Case MsgBox("Saisie des sorties de caisse en espèces ", vbOKCancel + vbInformation, "Mi journée")
Case vbCancel
'procédure si click sur Annuler
Range("B8:C14").Select
Selection.Locked = True
Selection.FormulaHidden = True
Range("C2").Select
Case vbOK
'procédure si click sur Ok
Range("B8:C14").Select
Selection.Locked = False
Selection.FormulaHidden = False
Range("B8").Select
End Select
End Sub
Ce code n'es pas opérationnel [bug]
Merci pour l’intérêt accorder à ma démarche.
Bonjour
Pour valider l'opération de verrouiller des cellules il faut que la page soit protégée
Protection sans mot de passe, dans le cas contraire il te faut rajouter ton mot de passe entre les " (guillemets) du paramètre Password
Sub SortiesCaisseEspecesMiJournee_QuandClic()
'
' SortiesCaisseEspecesMiJournee_QuandClic Macro
' Macro enregistrée le 20/05/2014 par Antonin
'
'Affichage Msgbox Ok + Annuler + Icône information
ActiveSheet.Unprotect Password:=""
Select Case MsgBox("Saisie des sorties de caisse en espèces ", vbOKCancel + vbInformation, "Mi journée")
Case vbCancel
'procédure si click sur Annuler
With Range("B8:C14")
.Locked = True
.FormulaHidden = True
End With
Range("C2").Select
Case vbOK
'procédure si click sur Ok
With Range("B8:C14")
.Locked = False
.FormulaHidden = False
End With
Range("B8").Select
End Select
ActiveSheet.Protect Password:=""
End Sub
Bonjour
Bien reçu proposition de code de Banzai64
J'ai recopier le code et je l'ai associé aux icônes "Info" liées aux différentes rubriques : "Fond de Caisse Début Journée", "Fond de Caisse Mi Journée", Fond de Caisse Fin de Journée" de l'onglet "Fond de Caisse", "Sorties Espèces Mi et Fin de Journée" Etc... de l'Onglet " Autres Opérations".
Le code est opérationnel.
J'en remercie Banzai64.
Ce qui me surprend c'est qu'après démarrage du classeur Excel et activation des macro, les cellules non verrouillées à la conception de l'onglet "Autres Opérations" [fond jaune] sont bien verrouillées. Les cellules non verrouillées à la conception de l'onglet "Fonds de Caisse" [fond jaune) restent non verrouillées
Les Onglets "Fonds de Caisse" et "Autres Opérations" sont liés. ils forment une paire qui synthétise les activités de caisse d'une journée.
[Une date de travail, deux Onglets]
Pour obliger l'activation des macro j'ai copier dans "ThisWorkbook un code :
Est ce lui qui fait que les cellules à fond jaune de l'Onglet "Autre Opérations" soient verrouillées et celles de l'Onglet "Fond de Caisse" à fond jaune restent non verrouillées ?
Private Sub Workbook_Open()
Dim i As Integer
For i = 2 To Sheets.Count
Sheets(i).Visible = True 'affiche toutes les feuilles
Next
Sheets(1).Visible = xlVeryHidden 'masque la 1ère feuille
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As Integer
Sheets(1).Visible = True 'affiche la 1ère feuille
For i = 2 To Sheets.Count
Sheets(i).Visible = xlVeryHidden 'masque les autres feuilles
Next
ThisWorkbook.Save 'enregistre le fichier
End Sub
Merci pour l'intérêt accorder à ma démarche.
Niobok