En VBA, obliger une valeur à être supérieure ou égale à 4

Bonjour,

Comment faire en sorte que si la variable "Valeur" est inférieure à 4 alors Valeur = 4. C'est à dire qu'entre les nombres 1 et 4 en M14, le chiffre renvoyé sur la feuil1 sera toujours de 4 !
Pendant que la valeur sur la cette feuille ci-dessous, en Feuil3, grade sa véritable valeur, soit ici "2,02" !

image
Sub M_Sheet_Copie_Calcul_du_Coeff_Muscu()
     Dim Nom As String, Sh As Worksheet, F1, F5, c As Range

     Set F1 = Feuil1
     Set F5 = Feuil5

    ' Récupérer la valeur de M14 dans Feuil3
     Valeur = F5.Range("M14").Value

     'se déplacer vers F1 *****************************************************
     Nom = Range("Nom_calcul_Muscu").Value
     If Len(Nom) = 0 Then
          MsgBox "nom est inconnu"
     Else
          If StrComp(Nom, Range("Nom_Homme").Value, 1) = 0 Then
              F1.Range("Q1").Value = Valeur     'valeur calculée pour l'homme
          ElseIf StrComp(Nom, Range("Nom_Femme").Value, 1) = 0 Then
              F1.Range("R9").Value = Valeur
          Else
               MsgBox "nom ne correspond pas avec le nom de l'homme ou de la femme", vbCritical: Exit Sub
          End If
          M_Copie_Muscu                      'créer copie de cette feuille
          M_RAZ_Muscu (Not c Is Nothing)     'vider les valeurs de cette feuille sans confirmation si nom est connu
          Application.GoTo F1.Range("A1")
     End If

End Sub

Merci pour votre aide...

Bonne soirée

sans teste, donc avec l'aide d'Alain Proviste.

 ' Récupérer la valeur de M14 dans Feuil3
  Valeur = Application.Min(Application.Max(4, F5.Range("M14").Value), 99) 'ainsi dans l'intervalle 4-99

Alain VERSE, Gérard MENVU aussi fort que toi !!!!

Tu fais toujours le Max IMUM pour Ray ZOUDRE tous mes problèmes en 1 clin d'oeil !!!!!!

Heureusement que tu es Alain TERIEUR de ce forum !!!!!!!!!!!!!!!

Emile MERCI encore !!!

C'est assez tard pour régler ce genre de problèmes, mais dans le module 4, je pouvais te fournir une macro pour l'exchange entre "valeurs éditées" et "valeurs sauvegardées". Par exemple, quand il manque encore certains données, la macro te prévient et ne sauvegarde pas encore.

Pour le moment, j'ai supprimé la valeur du ventre de "Seb" et quand tu lance la macro "testing" et tu choisis "H" , la macro vous dit qu'il manque des choses. Juste pour le teste, je n'ai pas encore modifié des choses dans les autres modules.

C'est une super idée !!! C'est pour ça que tu parlais de la cellule N4 tout à l'heure
Comme ça, les personnes rectifient les valeurs manquantes
J'ai regardé le module 4... Tu as écrit tout ça en quelques petites minutes ?

J'ai testé ==> Cool !!! Ca donne en plus toutes les cellules qui subissent l'absence de valeur dans F4 !!!!

image

J'ai juste un petit souci avec "HISTORIQUE" car quand je tape un prénom, j'obtiens l'historique, pas de souci, mais si dans la foulée, je veux saisir un autre prénom, j'ai un message bloquant m'écrivant que la feuille est protégée.
Ca vient certainement du fait qu'il faudrait bloquer la feuille (".Protect") un peu plus tard dans la macro "Worksheet_SelectionChange"...
Qu'en penses-tu ?

image
'---Cache l'image et affiche les tableaux----------------------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

     With Me
          If .ProtectContents And .ProtectDrawingObjects Then .Protect DrawingObjects:=False     'dans une feuille protégée permettre de modifier des objects

          If Not Intersect(Target, Range("P3")) Is Nothing Then
               Me.Shapes("MonCamera").Visible = False
               Me.Shapes("ZoneTexte 1").Visible = True
               Me.Shapes("ZoneTexte 10").Visible = True
               Me.Shapes("ZoneTexte 8").Visible = True
               Me.Shapes("ZoneTexte 12").Visible = True
               Me.Shapes("Image 17").Visible = True
               Me.Shapes("Image 19").Visible = True
          End If

          If Not Intersect(Target, Range("O2")) Is Nothing Then
               Prenom = InputBox("Consultation de l'historique de :", "Historique des mensurations", Prenom)
               If Prenom <> "" Then Extraction_Valeurs
          End If

          .Protect
     End With

End Sub

Merci Bart'

Rechercher des sujets similaires à "vba obliger valeur etre superieure egale"