Affichage d'un message en fonction du résultat de la formule

stanwas06

XLDnaute Nouveau
Bonsoir

Je bute sur un fichier que je finalise pour le mettre à disposition des membres du club.
Il est joint en PJ de ce message.
 

Pièces jointes

  • Classeur1.xls
    43.5 KB · Affichages: 45
  • Classeur1.xls
    43.5 KB · Affichages: 51
  • Classeur1.xls
    43.5 KB · Affichages: 49

kjin

XLDnaute Barbatruc
Re : Affichage d'un message en fonction du résultat de la formule

Bonsoir,
Dans le module de la feuille 1
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B3:H33")) Is Nothing Then
    If Cells(36, Target.Column) > 10 Then
        MsgBox "il y a plus de 10... !"
        Application.Undo
    End If
End If
End Sub
stanwas06; fichier joint à dit:
A la deuxième tentative, si cette valeur est dépassée, le fichier se ferme automatiquement en avertissant l'opérateur que ses données n'ont pas été sauvegardées
Un peu dure non ?
A+
kjin
 

Dranreb

XLDnaute Barbatruc
Re : Affichage d'un message en fonction du résultat de la formule

Bonsoir
Pourquoi ne pas empêcher la sélection de la cellule avant même qu'elle ne soit renseignée:
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Me.[B3:H33], Target) Is Nothing Then
   If Me.Cells(36, Target.Column).Value >= 10 And Target.Value = "" Then
      MsgBox "Choisissez une autre cellule"
      Me.Cells(1, 1).Select
      End If
   End If
End Sub
À+
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Affichage d'un message en fonction du résultat de la formule

Bonjour stanwas,

ton fichier en retour
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cellule As Range
For Each cellule In Range("B36:H36")
If cellule.Value > 10 Then
MsgBox ("Votre choix ne sera pas pris en compte")
Target.Value = ""
End If
Next cellule
End Sub

à+
Philippe

Edit: Bonjour Kjin, Dranreb
 

Pièces jointes

  • 111.xls
    50 KB · Affichages: 37
  • 111.xls
    50 KB · Affichages: 40
  • 111.xls
    50 KB · Affichages: 40

Victor21

XLDnaute Barbatruc
Re : Affichage d'un message en fonction du résultat de la formule

Bonsoir,stanwas06

Début de réponse, pour le msg :
VB:
Private Sub Worksheet_Calculate()
    With Worksheets("Feuil1").Range("B36:H36")
        Set c = .Find(10, LookIn:=xlValues)
        If Not c Is Nothing Then
            MsgBox "Modifiez votre choix"
        End If
    End With
 ActiveCell = ""
End Sub

Edit : Bonsoir, kjin, DranreB, phlaurent55. Désolé, j'ai raté mon train...:p
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 898
Membres
101 834
dernier inscrit
Jeremy06510