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

Rechercher des sujets similaires à "msgbox verrouillage deverrouillage"