XL 2019 Restriction de saisie si résultat d'une calcul est négatif

kdet

XLDnaute Occasionnel
Bonjour à tous, le forum,

J'ai besoin de votre aide car je ne sais comment y faire avec mon fichier joint. je voudrais savoir comment restreindre la saisie (colonne E et F) une fois que le résultat d'une calcul (colonne G "solde") est négatif. j'ai regardé cette discussion https://www.excel-downloads.com/threads/restriction-saisie-cellule.20028809/ mais je ne sais pas comment l'adapter ou bien est-ce qu'il y a une autre solution?

Cordialement

kdet
 

Pièces jointes

  • Tenue et Suivie de Caisse.xlsx
    17.3 KB · Affichages: 4

Jacky67

XLDnaute Barbatruc
Bonjour à tous, le forum,

J'ai besoin de votre aide car je ne sais comment y faire avec mon fichier joint. je voudrais savoir comment restreindre la saisie (colonne E et F) une fois que le résultat d'une calcul (colonne G "solde") est négatif. j'ai regardé cette discussion https://www.excel-downloads.com/threads/restriction-saisie-cellule.20028809/ mais je ne sais pas comment l'adapter ou bien est-ce qu'il y a une autre solution?

Cordialement

kdet
Bonjour,
Une proposition par VBA, donc classeur extension "Xlsm"
Dans le module de la feuille, ce code
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If (Target.Column = 5 Or Target.Column = 6) And Target.Row > 9 Then
        If Cells(Target.Row - 1, "G") < 0 Then
        MsgBox "Solde négatif, saisie non autorisée.", vbCritical, "Saisie"
        Application.EnableEvents = False: Target = "": Application.EnableEvents = True
        End If
    End If
End Sub
nb: Ceci ne tient compte que si le solde précèdent est négatif
 

Pièces jointes

  • Tenue et Suivie de Caisse.xlsm
    26.5 KB · Affichages: 2
Dernière édition:

kdet

XLDnaute Occasionnel
Rebonjour Jacky67, le forum,

votre solution est parfaite mais est-il possible d'insérer ceci : "Target.select" en-dessous de MsgBox "Solde négatif, saisie non autorisée.", vbCritical, "Saisie" car j'aimerai que lorsque le montant saisie donne le résultat négatif, le message s'affiche et revient sur la dernière cellule saisie qui a donnée le résultat négatif.

Merci

kdet
 

Jacky67

XLDnaute Barbatruc
et revient sur la dernière cellule saisie qui a donnée le résultat négatif.
Re..
Ceci doit faire
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If (Target.Column = 5 Or Target.Column = 6) And Target.Row > 9 Then
        If Cells(Target.Row - 1, "G") < 0 Then
            MsgBox "Solde négatif, saisie non autorisée.", vbCritical, "Saisie"
            Application.EnableEvents = False: Target = "": Application.EnableEvents = True
            Target.Activate
        End If
    End If
End Sub
 
Dernière édition:

kdet

XLDnaute Occasionnel
Re..
Ceci doit faire
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If (Target.Column = 5 Or Target.Column = 6) And Target.Row > 9 Then
        If Cells(Target.Row - 1, "G") < 0 Then
            MsgBox "Solde négatif, saisie non autorisée.", vbCritical, "Saisie"
            Application.EnableEvents = False: Target = "": Application.EnableEvents = True
            Target.Activate
        End If
    End If
End Sub
Jacky67, le forum

C'est exactement ce que je voulais. je te remercie beaucoup pour ta contribution.

kdet
 

Discussions similaires