valeur inférieure à zéro

BIBIX

XLDnaute Nouveau
Bonjour à tous,

Auriez vous une astuce pour qu'un résultat, dans une cellule, ne puise pas descendre dans le négatif.

Merci par avance.

Bibix
 

Misange

XLDnaute Barbatruc
Re : valeur inférieure à zéro

Bonjour
tu peux mettre une macro qui efface la saisie si elle est négative ou qui affiche un message d'erreur.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$A$1" And Range("A1") < 0 Then
  Range("A1") = ""
  MsgBox ("pas de valeur négative !")
  End If
End Sub
 

DoubleZero

XLDnaute Barbatruc
Re : valeur inférieure à zéro

Bonjour, BIBIX, Misange :D, excfl :D, R@chid :D, le Forum,

Ou bien comme ceci :

attachment.php


A bientôt :)
 

Pièces jointes

  • Sans négatif.JPG
    Sans négatif.JPG
    23 KB · Affichages: 67

lilicorail46

XLDnaute Nouveau
Re : valeur inférieure à zéro

Bonjour
tu peux mettre une macro qui efface la saisie si elle est négative ou qui affiche un message d'erreur.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$A$1" And Range("A1") < 0 Then
  Range("A1") = ""
  MsgBox ("pas de valeur négative !")
  End If
End Sub
Bonjour Misange,

J'ai le même problème que Bibix, sauf que je suis nulle en macro. J'ai essayé de faire un copier-coller mais ça ne fonctionne pas. Je ne dois pas la copier au bonne endroit.

Voici ce que j'ai :

'Calcul de la décote :
'Coef. 1 : "S" ou "NE" 0, "M" -0.5,"NS" -1
'Coef. 5 : "S" ou "NE" 0, "M" -2.5 ,"NS"-5
'Coef. 10 :"S" ou "NE" 0,"M" -5,"NS" -10
'Ou encore : "S" ou "NE" +Coef, "M" +Coef/2,"NS" +0
Sub Worksheet_Activate()
Dim DL%, i%, j%, T, T2, Num, Decote
Application.ScreenUpdating = False
DL = Sheets("Grille audit").Range("A65500").End(xlUp).Row
T = Sheets("Grille audit").Range("A3:F" & DL) ' Tableau des valeurs colonnes A à F
ReDim T2(8, 2) ' T2 tableau résultat, 1 total coef, 2 total notes
For i = 1 To UBound(T)
If T(i, 3) <> "" Then
Num = Val(Split(T(i, 1), ".")(0))
T2(Num, 1) = T2(Num, 1) + T(i, 3)
' Si "S" on ajoute le Coef, Si "M" on ajoute rien, Si "NS" on retire Coef/2
Select Case T(i, 4)
Case "S": T2(Num, 2) = T2(Num, 2) + T(i, 3)
Case "NE": T2(Num, 2) = T2(Num, 2) + T(i, 3)
Case "SO": T2(Num, 2) = T2(Num, 2) + T(i, 3)
Case "NS": T2(Num, 2) = T2(Num, 2) - T(i, 3) / 2
End Select
End If
Next i
' Restitution des résultats
If T2(1, 1) <> 0 Then [C20] = T2(1, 2) / T2(1, 1)
If T2(2, 1) <> 0 Then [C21] = T2(2, 2) / T2(2, 1)
If T2(3, 1) <> 0 Then [C22] = T2(3, 2) / T2(3, 1)
If T2(4, 1) <> 0 Then [C23] = T2(4, 2) / T2(4, 1)
If T2(5, 1) <> 0 Then [G20] = T2(5, 2) / T2(5, 1)
If T2(6, 1) <> 0 Then [G21] = T2(6, 2) / T2(6, 1)
If T2(7, 1) <> 0 Then [G22] = T2(7, 2) / T2(7, 1)
If T2(8, 1) <> 0 Then [G23] = T2(8, 2) / T2(8, 1)
End Sub

Pourriez-vous m'aider?

Bonne soirée

Lilicorail46
 

Statistiques des forums

Discussions
312 488
Messages
2 088 835
Membres
103 972
dernier inscrit
steeter