FONCTION ESTVIDE (Problème référence cirulaire)

Bonjour, j'ai un fichier qui contient des données dans lequel il y a des cellules vides.

Mon souci c'est que j'aimerai que les cellules vides soient remplacer en "0" pour que celles-ci puissent être calculer.

J'ai essayé le formule SI(ESVIDE(Cellule1);0;Cellule1), et là le résultat est "0" même avec les cellule qui contiennent des valeurs.

Cela affiche ceci:

image

Pourriez-vous m'aider svp. Merci.

17classeur2.xlsx (8.93 Ko)

Bonjour,

logique puisque vous mettez une formule en B2 concernant B2, on ne peut pas faire ça.

Si vous avez besoin de considérer qu'une cellule vide correspond à 0 dans une autre formule se référant à cette colonne, c'est cette formule qu'il faudrait nous montrer.

Ou alors en VBA on peut remplacer les cellules vides par 0.

Bonjour,

Oui comme l'a bien expliqué doux-reveur une formule ne peut jamais pointer vers sa propre cellule, ça n'a pas de sens.

Je pense que vous avez mal compris l'usage de SI+ESTVIDE : c'est un combo à utiliser dans une autre cellule, par exemple si vous vouliez faire une division vous pourriez écrire SI(ESTVIDE(B2); 1; 1 / B2) pour éviter la division par 0 dans le cas des cellules vides.


Pour retourner sur votre problème, d'après votre classeur il semble que vous souhaitiez remplacer les "0" par des "-". C'est exactement ce que fait le Format de nombre "Monétaire" : appliquez-le à vos cellules.

image

Ainsi la cellule affiche "-" mais contient 0.

Bonjour à tous,

si tu ecris = a1, si a1=7 ==>7 si a1 est vide ==>0 (que tu vois)

Crdlmt

Pour retourner sur votre problème, d'après votre classeur il semble que vous souhaitiez remplacer les "0" par des "-". C'est exactement ce que fait le Format de nombre "Monétaire" : appliquez-le à vos cellules.

image

Ainsi la cellule affiche "-" mais contient 0.

Il semblerait qu'il faille d'abord taper au moins 1 chiffre pour que le tiret se mette (et donc la valeur 0) quand on choisit le format monétaire.

Un petit code VBA pour transformer les vides en 0 ;

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim cell As Range
    For Each cell In Range("B2:B7")
        If cell.Value = "" Then
        cell.Value = 0
        End If
    Next cell
End Sub

Bonjour à tous,

pour compléter tout ce qui a été dit, tu peux très bien faire des opérations avec des cellules vides.
Pour moi elles ne sont pas vides mais le résultat d'une formule avec "".
Tu peux additionner des cellules qui contiennent du texte avec la fonction Somme()
Ex : =SOMME(B2:B7)
eriiic

Rechercher des sujets similaires à "fonction estvide probleme reference cirulaire"