Valeur egale à 0 si valeurs négatives

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

georgestark

XLDnaute Nouveau
Bonjour à toutes et à tous,

J'ai besoin de vos lumieres sur les tests logiques ainsi qu'en programmation vba.
mon probleme est le suivant ; je suis à la recherche d'une fonction (en vba) qui me permette de mettre automatiquement les valeurs negatives d'une plage de cellules (en dessous de 0) egales à zero. je n'ai donc pas besoin qu'elles m'affichent les valeurs negatives.

Je reste à l'ecoute et merci par avance.
 
Re : Valeur egale à 0 si valeurs négatives

Bonjour,

Tu peux également appliquer un format nombre aux valeurs (cette méthode permet de conserver les valeurs d'origine mais d'afficher des zeros) :

Standard;"0";Standard


Et par exemple, si tu veux faire la somme des valeurs positives :
=SOMME.SI(A1:A4;">0";A1:A4)

Voir fichier joint
 

Pièces jointes

Re : Valeur egale à 0 si valeurs négatives

Bonjour JUJU et merci pour ta célérité,

j'ai essayé ce qui suit mais ,ca ne marche pas. il me dit "Erreur d'excéution N°13, Incompatibilité de type"...

Sub Foreachcell()
Dim MaCell As Range
For Each MaCell In Range("I3:I1048576").Cells
If MaCell.Value < 0 Then MaCell.Value = 0
Next MaCell
End Sub

Pour ce qui est de mon exemple, vous l'aurez compris, je cherche à appliquer cette logique aux cellules de la colonne "I".

Je reste à l'écoute.
 
Re : Valeur egale à 0 si valeurs négatives

Re,

Comme Juju semble non connecté :

Sub Foreachcell()
Dim MaCell As Range
For Each MaCell In Range(Range("I1"), Range("I" & Columns("I").Rows.Count).End(xlUp))
If MaCell.Value < 0 Then MaCell.Value = 0
Next MaCell
End Sub

ou

Sub Foreachcell2()
Dim MaCell As Range
For Each MaCell In Range("I1:" & Range("I65536").End(xlUp).Address)
If MaCell.Value < 0 Then MaCell.Value = 0
Next MaCell
End Sub

ou

Sub Test()
For Each X In Columns("I:I").SpecialCells(xlCellTypeConstants, 1)
If X.Value < 0 Then X.Value = 0
Next
End Sub
 
Dernière édition:
Re : Valeur egale à 0 si valeurs négatives

Catrice,

Ta suggestion est très interessante,
mais mon but n'est pas d'appliquer un format nombre aux valeurs inferieurs à zero, car dans mon cas, j'utilise les cellules en questions pour des calculs ultérieurs. et pour cela, je cherche à ce que ces cellules comportent une valeur nulle et non pas les valeurs négatives "cachées". Je te remercie quand meme
 
Re : Valeur egale à 0 si valeurs négatives

Catrice,

J'ai su pourquoi ca ne marchait pas. les premieres cellules de la collonne "I" contenaient l'erreur "#N/A" et du coup ca ne fonctionnait pas (débogage). une fois que j'ai remplacé (manuellement) le message d'erreur une une valeur numérique, le probleme ne se posait plus.
ma requete est la suivante : existe t'il une alternative qui execute la macro sans prendre en compte les cellules contenant le message d'erreur.

Merci par avance
 
Re : Valeur egale à 0 si valeurs négatives

Rebonjour,

Il y a eu apparition d'un nouveau probleme lorsque j'execute la macro. je m'explique ; les cellules de la colonne "I" contiennent une formule d'addition et de soustraction. mon but etait donc ne pas prendre en compte les valeurs négatives et de les faire remplacer par le 0. cette requete se fait tres bien, sauf qu'une fois la macro exécutée, les formules de toutes les cellules qui contenaient des valeurs negatives sont SUPPRIMEES et remplacées par la valeur zero. or ce n'est pas ce que je recherche.
Donc, peut-on executer la macro sur les cellules de la colonne "I" sans pour autant supprimer les formules déja existantes.

Merci par avance et je reste à l'écoute,
 
Re : Valeur egale à 0 si valeurs négatives

Re,

On ne peut pas transformer les valeurs dans les cellules sans ecraser les formules ...

Le mieux serait alors d'integrer ce que tu veux faire dans tes formules.
Du genre :

=SI(Maformule<0;0;Maformule)
 
Re : Valeur egale à 0 si valeurs négatives

Catrice,

Merci beaucoup pour la rapidité de tes réponses. Finalement, je pense revoir la formule d'addition et de soustraction qui est à l'origine des valeurs négatives, car meme ce que tu m'as préconisé ne repond pas à mon besoin.
En tout cas, j'etais loin de penser que ce forum comptait par ces adhérants des professionnels au sens propre du terme (rapidité de réponse, précision...). Je n'hésiterai pas à vous recontacter si besoin.

A bientôt,
GeorgeStark
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
210
Réponses
12
Affichages
670
Réponses
6
Affichages
991
Retour