verouiller les cellules affichées sous conditions

  • Initiateur de la discussion Initiateur de la discussion Ilino
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Ilino

XLDnaute Barbatruc
Bonjour Forum

Les cellules concernées sont D8(fusionnée) jusqu'à la cellule D26 ( fusionnée) les cellules Paires seulement .
Je souhaite arrêter( ou verrouiller) la saisie dans ces cellules si la somme des cellules affichés seulement (non masqué) est supérieur a 100% .

Exemple :

Supposons que toutes les cellules sont affichée, donc je dois remplir toutes les cellules de tel manière avoir un total 100% .
2 eme cas
Supposons que les cellules D22 ,24, 26 sont masquées, donc je dois remplir toutes les cellules affichées a savoir( D8 ,10,12,14,16,18 et 20) de tel façon avoir un total 100% et si je dépasse lors de la saisié dans ces cellules affichées 100% j’arrête la saisie.
GRAZIE
 

Pièces jointes

Re : verouiller les cellules affichées sous conditions

Bonjour Ilino,

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Byte, p#
For i = 8 To 26 Step 2
  If Rows(i).Hidden = False Then 'ce test est-il nécessaire ?
    p = p + Val(Replace(Cells(i, 4), ",", "."))
    If p > 1 Then Cells(i, 4) = ""
  End If
Next
End Sub
A+
 
Re : verouiller les cellules affichées sous conditions

Re Bonjour job
et si je veux ajouter un MsgBox
Code:
.........
If p > 1 Then Cells(i, 4) = "" And MsgBox("Vous avez dépassé 100 %  EI IL VOUS RESTE DES CELLULES A REMPLIR ")
........
is it right ?
 
Re : verouiller les cellules affichées sous conditions

est ce ce code est correcte??

La flemme de tester Ilino ???

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Byte, p#, n As Byte
For i = 8 To 26 Step 2
  If Rows(i).Hidden = False Then
    p = p + Val(Replace(Cells(i, 4), ",", "."))
    If p > 1 Then Cells(i, 4) = "": n = n + 1
  End If
Next
If n Then MsgBox "Vous avez dépassé 100%, il vous reste " & n & " cellules à remplir."
End Sub
A+
 
Re : verouiller les cellules affichées sous conditions

Bonjour Ilino, le forum,

Il vaut mieux compter les cellules vides depuis le début :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Byte, p#, n As Byte
For i = 8 To 26 Step 2
  If Rows(i).Hidden = False Then
    p = p + Val(Replace(Cells(i, 4), ",", "."))
    If p > 1 Then Cells(i, 4) = ""
    If Cells(i, 4) = "" Then n = n + 1
  End If
Next
If p > 1 Then MsgBox "Vous avez dépassé 100%, il reste " & n & " cellule(s) à remplir."
End Sub
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

E
Réponses
3
Affichages
2 K
Emmanuel_3005
E
F
Réponses
0
Affichages
895
fif357
F
Retour