Autres [RESOLU]Verrouiller une cellule apres saisie avec un mot de passe

sergiofox

XLDnaute Junior
Bonjour, je suis novice et je voudrais faire une feuille de match qui se verrouille après saisie, j'ai trouvé différentes formules que j'ai essayé d'appliquer, elles fonctionnent tant que je n'y ajoute pas un mot de passe pour verrouiller la feuille, pourriez-vous m'aider ?
Merci d'avance.
1573308893439.png

1573308986775.png
 

Pièces jointes

  • test fichier feuille de match avec mot de passe.xlsm
    17.3 KB · Affichages: 8
  • test fichier feuille de match.xlsm
    17.1 KB · Affichages: 4

job75

XLDnaute Barbatruc
Ne faites pas de complexe, ce maximum de 25 n'est pas bête du tout s'il s'agit de la somme des 2 cellules B2 et C2.

Du coup dans le fichier joint je simplifie la formule de validation en B2 :
VB:
=ET(B2>=0;NON(MOD(B2;1));MAX($B2:$C2)<=13;$B2+$C2<=25)
Bonne nuit.
 

Pièces jointes

  • valeur 13(1).xlsm
    23.6 KB · Affichages: 5

sergiofox

XLDnaute Junior
Bonjour monsieur Job75, encore un petit complément d'infos...
Serait t'il possible dans la vba de n'avoir la confirmation " confirmez-vous ce que vous venez d'entrer" et le verrouillage des cellules (F3:G3)= match1 (F4:G4)match2 etc... que lorsque que l'on à rentré le second score de la rencontre ? càd en colonne G ?
Voilà le code que j'utilise pour ma commande dans mon dossier officiel
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If test = True Then Exit Sub
If Selection.Cells.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
If Application.Intersect(Target, Range("match1:match9")) Is Nothing Then Exit Sub
test = True
If MsgBox("Validez-vous cette entrée ?", vbYesNo, "Attention !") = vbYes Then
    ActiveSheet.Unprotect ("test")
    Target.Locked = True
    ActiveSheet.Protect Password:="test"
Else
    Target.Select
    Target.ClearContents
End If
test = False
 

Pièces jointes

  • Copie de test fichier feuille de match(3)-1.xlsm
    15.4 KB · Affichages: 5

job75

XLDnaute Barbatruc
Bonjour sergiofox, le forum,

Avec cette nouvelle demande c'est compliqué, ce que j'avais fait n'allait pas, ceci est maintenant correct :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Protect "toto", UserInterfaceOnly:=True 'mot de passe à adapter
Set Target = Intersect(Target, [F:G])
If Target Is Nothing Then Exit Sub
Dim P As Range, Q As Range, flag As Boolean
For Each Target In Target 'si entrées/effacements multiples (copier-coller)
    Set P = Intersect(Target.EntireRow, [F:G])
    If Application.CountA(P) = 2 Then
        If Not flag Then
            If MsgBox("Confirmez-vous ce que vous venez d'entrer ?", 4) = vbNo Then
                Application.EnableEvents = False
                Application.Undo 'annule l'entrée
                Application.EnableEvents = True
                Exit Sub
            End If
        End If
        Set Q = Union(IIf(Q Is Nothing, P, Q), P)
        flag = True
    End If
Next Target
If Not Q Is Nothing Then Q.Locked = True 'verrouillage
End Sub
Bonne journée.
 

Pièces jointes

  • Copie de test fichier feuille de match(3)-1.xlsm
    21.1 KB · Affichages: 3

Discussions similaires

Réponses
2
Affichages
158

Statistiques des forums

Discussions
312 198
Messages
2 086 140
Membres
103 129
dernier inscrit
Atruc81500