URGENT! AIDE SVP: Rendre un nombre négatif sous condition

johmayss

XLDnaute Nouveau
[RESOLUS]URGENT! AIDE SVP: Rendre un nombre négatif sous condition

Bonjour,

j'aimerai savoir comment on peut afficher un chiffre en négatif lorsque un champ contient "risk".

Colonne "F" => peut contenir "Opportunity" ou "Risk"

Condition à appliquer: Si Champ F= Risk alors

les chiffres se trouvant dans les colonnes J a E deviennent négatif.

Merci d'avance pour vos réponses.
 
Dernière édition:

Raja

XLDnaute Accro
Re : URGENT! AIDE SVP: Rendre un nombre négatif sous condition

Bonsoir,

Pour l'instant, ta demande est trop vague, et il manque des précisions. Merci de nous joindre un exemple de fichier .xls et demande de l'aide. A toi. Je suis persuadé que ton problème ne peut être résolu que par VBA. Attendons voir la disposition de tes données.
 
Dernière édition:

johmayss

XLDnaute Nouveau
Re : URGENT! AIDE SVP: Rendre un nombre négatif sous condition

J'ai mis en piece jointe le fichier excel en question.
Des que les champs de la colonne F est égale à "Risk", il faut que les champs de la colonne J a N soient des chiffres négatifs.

Pour l'instant, j'ai mis un controle plus ou moins visuel.. en rouge quand c'est négatifs, mais il n'y a pas vraiment de controle...

merci encore !
 

Pièces jointes

  • risk negatif.xls
    17.5 KB · Affichages: 74

johmayss

XLDnaute Nouveau
Re : URGENT! AIDE SVP: Rendre un nombre négatif sous condition

Je voulais préciser que les valeurs qui doivent devenir négatifs sont des champs saisies. Cela permettra aux personnes qui vont saisir de ne pas oublier de mettre en négatif lorsqu'il s'agit d'un risk.
 

job75

XLDnaute Barbatruc
Re : URGENT! AIDE SVP: Rendre un nombre négatif sous condition

Bonsoir johmayss, Fo rum, Raja,

Cela permettra aux personnes qui vont saisir de ne pas oublier de mettre en négatif lorsqu'il s'agit d'un risk.

Je laisse aux 1ers intervenant le soin d'écrire la macro, mais bien sûr nul besoin pour l'utilisateur de mettre le signe moins quand il s'agit d'un risk.

Il suffira du code => Target = -Abs(Target)

A+
 

job75

XLDnaute Barbatruc
Re : URGENT! AIDE SVP: Rendre un nombre négatif sous condition

Re,

Personne ne se manifestant, voici donc une macro :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("J5:N65536")) Is Nothing Or Target.Count > 1 Then Exit Sub
If Target = "" Then Exit Sub
Application.EnableEvents = False
If IsNumeric(Target) Then
  Target = Abs(Target) * (-1) ^ (UCase(Range("F" & Target.Row)) = "RISK")
Else
  MsgBox "A numeric value is needed...", 48
  Application.Undo
End If
Application.EnableEvents = True
End Sub

Elle est à placer dans le code de la feuille (clic droit sur l'onglet et Visualiser le code).

A+
 

Pièces jointes

  • risk negatif(1).xls
    31.5 KB · Affichages: 45
Dernière édition:

Fo_rum

XLDnaute Accro
Re : URGENT! AIDE SVP: Rendre un nombre négatif sous condition

Re,

j'avais une macro simple (sans tous les contrôles de validité et sans les lignes en gras) :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Count > 1 Then Exit Sub
  Application.EnableEvents = False
  If Not Intersect(Target, [J5:N6500]) Is Nothing Then
      Target = IIf(Cells(Target.Row, "F") = "Risk", -Target, Abs(Target))
  End If
  [B]If Not Intersect(Target, [F5:F6500]) Is Nothing Then
    For col = 4 To 8
      If Target.Offset(, col) <> "" Then
        Target.Offset(, col) = IIf(Target = "Risk", -Target.Offset(, col), Abs(Target.Offset(, col)))
      End If
    Next
  End If[/B]
  Application.EnableEvents = True
End Sub
J'ai donc rajouté la fin pour le cas d'un éventuel changement de choix après les saisies des nombres.
Job75;) a prévu d'autres contrôles dans sa macro, je les ai prévus dans la feuille avec la "Validation des Données".
 

Pièces jointes

  • NégatifSousCondition(VBA).zip
    7.2 KB · Affichages: 33

Statistiques des forums

Discussions
312 492
Messages
2 088 938
Membres
103 988
dernier inscrit
Feonix