Renvoi de zéro lorsqu’une cellule référencée est vide (Microsoft Excel)
Si vous avez une formule dans une feuille de calcul et que la cellule référencée par la formule est vide, la formule renvoie toujours une valeur zéro. Par exemple, si vous avez la formule = A3, la formule renvoie le contenu de la cellule A3, sauf si la cellule A3 est vide. Dans ce cas, la formule renvoie une valeur de zéro.
Cela semble être lié à l’idée qu’il est impossible pour une formule de renvoyer une valeur vide, lorsque «vide» est utilisé comme synonyme de «vide».
Vous pouvez cependant étendre un peu votre formule pour qu’elle renvoie une chaîne vide. Au lieu d’utiliser = A3 comme formule, vous utiliseriez ce qui suit:
=IF(ISBLANK(A3),"",A3)
Cette formule utilise ISBLANK, qui renvoie Vrai ou Faux, selon que la cellule référencée (A3) est vide ou non. La fonction IF renvoie alors une chaîne vide (« ») si A3 est vide, ou elle utilise la valeur en A3 si A3 n’est pas vide.
Indépendamment de ce que la formule renvoie, vous pouvez toujours utiliser son résultat dans d’autres formules, et cela fonctionnera correctement. Même s’il renvoie une chaîne vide, il est toujours traité par d’autres formules comme s’il contenait zéro.
Dans les zones où traiter la cellule comme si elle contenait zéro peut être problématique (comme lorsque vous tracez les résultats de la formule), vous pouvez modifier un peu la formule, comme indiqué ici:
=IF(ISBLANK(A3),NA(),A3)
Cette formule renvoie l’erreur # N / A si A3 est vide. Cette erreur se propage à travers d’autres formules qui font référence à la formule, mais l’erreur # N / A est complètement ignorée lors de la création de graphiques.
Bien que les solutions ci-dessus soient satisfaisantes pour la plupart des gens, certaines personnes aimeraient vraiment voir une cellule cible être vraiment vide si la cellule source est vide. Par exemple, vous pouvez souhaiter que la cellule B7 soit vide si la cellule A3 est vide. Si vous placez une formule dans la cellule B7 (comme déjà expliqué), la cellule B7 n’est pas vraiment vide: elle contient une formule.
Si tel est votre objectif – le vrai «vide» – alors vous ne pouvez l’atteindre qu’en utilisant une macro. La macro devra vérifier si la cellule source a été modifiée. Si tel était le cas, tout ce qui se trouve dans la source doit être copié dans la cellule cible.
Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim rMonitor As Range Dim rTarget As Range Set rMonitor = Range("A3") Set rTarget = Range("B7") If Not Intersect(Target, rMonitor) Is Nothing Then rMonitor.Copy rTarget End If Set rMonitor = Nothing Set rTarget = Nothing End Sub
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (2174) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:
link: / excelribbon-Returning_Zero_When_a_Referenced_Cell_is_Blank [Renvoi de zéro lorsqu’une cellule référencée est vide]
.