MessageBox

Résolu
Chicorette Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   -  
Chicorette Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   -
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

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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
Chicorette Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   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
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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
Chicorette Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   2
 
Merci
Bonne continuation à vous
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Chicorette Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   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
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Essaie ceci:

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

0
Chicorette Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   2
 
Merci Merci!
0