Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

stanwas06

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

Je reviens sur le forum et surprise, des personnes ont réfléchi pour moi et surtout ont trouvé la solution que je ne parvenais pas à écrire.
Merci à vous.
Bonne soirée
Stanwas06
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…