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

  • Initiateur de la discussion Initiateur de la discussion kdet
  • 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 !

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

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

Dernière édition:
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
 
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:
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
 
- 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

Réponses
6
Affichages
240
Retour