SI et ref circulaire

Résolu/Fermé
gilou - 19 févr. 2009 à 16:44
 gilou - 24 févr. 2009 à 18:22
Bonjour,
j'ai un problème de ref circulaire avec fonction SI
Dans un tableau j'aimerai que les cel vides soient annotees "non posé" sinon la valeur entrée
j'ai fait si( a1=0;"non posé"; a1) ca doone ref circulaire , j'ai aussi essayé avec SI(ESTVIDE(..... : idem
je passe à coté de qque chose ,mais quoi ?
mreci

5 réponses

dans une cellule tu ne peux pas tester cette même cellule.
1
xkristi Messages postés 4264 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 19 août 2022 564
19 févr. 2009 à 16:50
Salut

C'est une limite d'excel
si tu mets une formule dans une cellule , tu ne peux pas utiliser cette même cellule dans cette formule.

Faur utiliser une macro ?
1
je m'en doutais un peu car j'ai deja souvant eu le tour peut-etre un procedé vba car monsieur vba n'est pas sujet aux ref circulaires
a+ et merci
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394 > gilou
19 févr. 2009 à 17:19
Bonsoir
je me permet de trouver un peu curieux de mettre une formule pour remplir une cellule vide en remplacement d'une autre entrée ultèrieure
Quelquechose m'échappe:
pourquoi ne pas remplir directement votre tableau dans toutes les cellules de l'information "non posé" avant de l'utiliser?
Crdlmnt
0
gilou > Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022
19 févr. 2009 à 17:47
bonjour Vaucluse
imaginons un instant que mon "chef" veuille que les cases vides soient remplacées par "non posé" ; une fois cette case
utilisée tout va bien mais comme il a horreur du vide et, qu'une fois la cell est supprimée ,je cher che une combine pour qu'il n'y ait pas de cell vide et, surtout que je ne soit pas obligé de la remplir vous voyez quoi?...
merci et à+
0
gilou > gilou
19 févr. 2009 à 17:28
j'ai bien pondu un petit code mais il faudrai m'aider à l'amenager àun tableau je pense à qque chose sur la bse de
dim plage as range avec used range mais je n'ai jamais été reelement capable de decrire l'objet...........
C'est le moment de me perfectionner mon code fonctionne pour une cel mais comme j'ai affaire à un tableau ,meme petit
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("k33") = "" Then
Range("k33").Value = "non posé"
End If
End Sub
pour l'exemple la plage serai k20: k35
merci a+
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 209
20 févr. 2009 à 06:45
Bonjour tout le monde,

tu peux aussi choisir le format d'affichage des 0 avec un format de nombre personnalisé comme celui-ci (dans format cellule) :
Standard;Standard;"non posé"

Si tu as un 0 dans la cellule tu auras "non posé"

eric
1
xkristi Messages postés 4264 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 19 août 2022 564
20 févr. 2009 à 09:50
Bonjour Eriiic

Des fois , l'on chercherait longtemps sans ton aide
Tu es toujours aussi sympa

merci à toi , Vaucluse, Raymond , le Pingou
vous êtes généreux , ça fait du bien de vous rencontrer
0
bonjour Eriiic
merci pour ta reponse , helas je ne suis pas familier des formats personnalises , donc si tu pouvais me decrire le chemin
etape/etape pour aboutir .J 'ai essayé en vain ma version d'excel : 2003
Dans la foulée ,si tu veux , jette un oeil sur la solution vba que j'avais soumise comme cela j'aurai 2solutions à me mettre sous le coude
merci et merci aux membres
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 209 > gilou
20 févr. 2009 à 18:58
Re tout le monde :-)

donc ralenti avec arret sur image :
- sélectionne les cellules ou colonnes concernées
- clic-droit dessus, choisir 'format de cellule' onglet 'nombre'
- dans 'catégories' sélectionner 'Personnalisé'
- dans 'type' saisir le format désiré, ici: Standard;Standard;"non posé"
dans l'ordre formats pour : nombre positif ; nombre négatif ; zéro
- valider

Il ne reste plus qu'à mettre les 0 là où tu veux.

eric
0
bonjour et merci pour ton astuce j'ignorai que l' on pouvait saisir qque chose dans ces "fenetres" c'est pour cela que je n'y arrivais pas ;maintenant il faut savoir que si l'on efface la cell ( ce qui different de valeur 0) le "non posé " ne s'affiche pas ,neanmoins la conbine demeure valable si le 0 est obtenu . En plus le texte "...." peut servir de message d'alerte (par exemple); le tout permettant quand me^me l'utilisation d'une fonction .C'est pas mal sans avoir à a faire à vba . Au fait j' avais presenté un code " incomplet" si vous pouviez.........
encore merci ;Á vous le choix du resolu
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 209 > gilou
23 févr. 2009 à 20:25
Bonsoir,

J'ai modifié un peu ton code mais vu que tu utilises l'evenement change il faudra mettre qcq chose dans les cellules et le supprimer pour initialiser "non posé".
Ou bien faire une macro dédiée en plus pour initialiser les cellules.

Nomme d'abord la plage concernée plage_a_traiter par exemple.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("plage_a_traiter")) Is Nothing Then Exit Sub
If Target.Value = "" Then
Target.Value = "non posé"
End If
End Sub

eric
0
Raymond PENTIER Messages postés 58385 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 15 avril 2024 17 086
20 févr. 2009 à 00:05
Pour contourner la difficulté, tu pourrais utiliser la Mise en Forme Conditionnelle pour colorer les cellules vides.

Mais surtout, raconte à ton "chef", s'il aime les paraboles et les fables, que lorsqu'on organise un banquet, si on met dans chaque verre vide un petit papier écrit "Vide", le verre n'est plus vide ! Et quand ou aura enlevé le petit papier pour verser du vin et que ce vin sera bu, il faudra recommencer à chercher un petit papier et le poser de nouveau dans le verre ...
Il ne reviendra pas dans le verre tout seul, et son invité refusera de boire du vin dans lequel baigne un petit papier plein d'encre !
Par contre, ce petit papier pourrait très bien être déposé derrière le verre : On peut le lire à travers le verre tant qu'il est vide ; on ne peut plus le lire une fois le vin versé ; mais il se voit de nouveau une fois le vin avalé !

C'est pourquoi il faut t'en tenir aux avis qui t'ont été donnés dans les posts précédents, et mettre une formule dans la cellule A2 pour tester le contenu de la cellule A1 et afficher le résultat du test.
0
bonjour Raymond
je vous remercie pour votre reponse qui tombe sous le sens , n'etant plus si "bleu" que cela et, ayant maintes fois été confronté au problème des ref circulaires j'ai toujours cherché (souvant en vain) à les contourner (d'ou combine)
je savais qu'en utilisant une cell test c'etait faisable ,mais je ne voulais pas , d'ou la difficulté . j'ai pris pour axiome que le verre n'etait pas transparant; cet "exercice " va m'enrichir . Á ce propos j'aurais une question à vous poser au
sujet d'une fonction que vous avez fournie sur le forum, le titre sera" histogramme "
bonne journée : le chef
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Raymond PENTIER Messages postés 58385 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 15 avril 2024 17 086
20 févr. 2009 à 20:55
La proposition d'eriiic est astucieuse. Comme il le précise lui-même à la dernière ligne de ses posts 8 et 12, ça fonctionne s'il y a un zéro dans la cellule ; pas si elle est vraiment VIDE, comme le postule gilou !
0