MessageBox

Résolu
Chicorette Messages postés 87 Statut Membre -  
Chicorette Messages postés 87 Statut Membre -
Bonjour,

Je souhaiterais faire apparaître une MessageBox sur une plage (B3:M147) qui informerais l'utilisateur que la cellule qu'il souhaite modifier contient déjà quelque chose. Si vide aucun message.

Serait-il éventuellement possible dans un deuxième temps de protéger les cellules renseignées à la fermeture du classeur?

Peut-être pourrais je combiner les deux action selon la réponse de l'utilisateur à la MessageBox.
Voulez vous modifier le contenu? => si oui; alors autorisation puis protection / si non => alors protection.
Et laisser les cellules vides tranquilles

Merci
(Débutante volontaire)

7 réponses

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    Voilà pour la 1ère question:

    Option Explicit
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     If Application.Intersect(Target, Range("B3:M147")) Is Nothing Then Exit Sub
    If Target.Value = "" Then Exit Sub
    MsgBox "la cellule que vous souhaitez modifier contient déjà quelque chose: " & Target.Value, vbOKCancel, "Selection"
    End Sub
    


    A mettre dans la feuille concernée
    0
  2. Chicorette Messages postés 87 Statut Membre 2
     
    Oh magnifique! Merci beaucoup.

    Pour la 2ème question
    Faudrait-il mieux séparer les deux actions ou l'intégrer à cette même macro?

    Si je rajoute ça c'est bien ça marche.

        Private Sub Workbook_BeforeClose(Cancel As Boolean)
        For Each sh In Sheets
        sh.Protect Password:="mot de passe"
        Next sh
        ThisWorkbook.Save
        End Sub
    

    mais combiner les deux serait possible aussi?

    Sinon je suis satisfaite déjà ...

    Merci Merci
    0
  3. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Les 2 macros sont différentes et n'agissent pas au même moment.
    Il y a une macro qui agit sur la feuille et l'autre à la fermeture et qui est placée dans ThisWorkbook.

    Si la question est résolue cliquez sur RESOLU

    Bonne journée
    0
  4. Chicorette Messages postés 87 Statut Membre 2
     
    Merci
    Bonne continuation à vous
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Chicorette Messages postés 87 Statut Membre 2
     
    Bonjour et désolée de réouvrir le topic.

    Je me suis auto piégée à cause d'une consolidation!!! je n'avais pas envisagé le cas du sauf zéro!

    Pour renouveler mon explication:
    Je souhaite dans une plage (B3:M147) des 3 premières feuilles, faire apparaitre une MessageBox qui indique à l'utilisateur qu'on a déjà saisi une valeur autre que zéro. (sinon ma consolidation ne peut pas marcher). Puis (enregistrer) et protéger le classeur avant la fermeture.

    https://www.cjoint.com/?DJwtou88FRQ
    mot de passe: ok en minuscule si protégé

    Merci
    0
  7. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Essaie ceci:

    If Target.Value = "" Or Target.Value = "0" Then Exit Sub
    

    0
  8. Chicorette Messages postés 87 Statut Membre 2
     
    Merci Merci!
    0