[Résolu] Donner une valeur vide a une cellule vide

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
yellow
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 19 avr. 2007 00:12

[Résolu] Donner une valeur vide a une cellule vide

Message par yellow »

Bonsoir à tous,

Je cherche a donner la valeur 0 a une cellule vide dans un tableau de classement. je m'explique:

A:tableau des score
B:points a domicile
C: points a l'exterieur

J'aimerais qu'avant la saison, tous les compteurs des tableaux B et soient a 0, car le tableau A est vide!

J'ai donc écrit cette formule:
=SI(F3>G3;3;SI(F3=G3;1;SI(F3<G3;0))) pour le tableau B.
=SI(F3<G3;3;SI(F3=G3;1;SI(F3>G3;0))) pour le tableau C.

le problème, si le tableau A n'est pas rempli, j'ai 1 comme valeurs dans B et C! Si je met une lettre a pour l'equipe qui joue a domicile et b exterieur (avant que les matchs aient eu lieu...), j'ai bien 0 dans le tableau A mais 3 dans le B.

Je tourne en rond depuis cet après midi...

Je voudrait tout automatiser, que quand je rentre le score, le classement de matchs a domicile et exterieur, nombre de buts, tout se fasse automatiquement quoi.

Je vous remercie par avance de votre aide!
Dernière modification par yellow le 20 avr. 2007 19:10, modifié 4 fois.
2.3 xp family
Pierre-Yves Samyn
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 11276
Inscription : 02 mai 2006 10:42

Message par Pierre-Yves Samyn »

Bonjour et bienvenue

Tu peux utiliser par exemple :

Code : Tout sélectionner

=SI(OU(F3=0;G3=0);"";SI(F3>G3;3;SI(F3=G3;1;SI(F3<G3;0))))
et

Code : Tout sélectionner

=SI(OU(F3=0;G3=0);"";SI(F3<G3;3;SI(F3=G3;1;SI(F3>G3;0))))
Avec ces formules, il suffit qu'une des deux cellules (F3 et G3) soit vide pour que rien ne s'affiche (tu peux mettre 0 à la place de "")
yellow
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 19 avr. 2007 00:12

Message par yellow »

Merci de ta réponse PY!

Je ne fais que la survoler, je doit partir pour un triste rendez-vous, je ne pourrais que la mettre en application ce soir, mais je te remercie par avance!
2.3 xp family
Vandeput
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 409
Inscription : 12 févr. 2007 15:33
Localisation : Bruxelles

Message par Vandeput »

Bonjour,

A essayer :
=ESTNUM(F3)*ESTNUM(G3)*((F3>G3)*3+(F3=G3))
=ESTNUM(F3)*ESTNUM(G3)*((G3>F3)*3+(F3=G3))

Pour le reste une petite pièce jointe serait la bienvenue.

Personnellement j'aurais écrit la formule de Pierre-Yves comme suit :
=SI(OU(F3="";G3="";F3<G3);0;SI(F3>G3;3;1))
andré
2.2 sous Windows XP
yellow
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 19 avr. 2007 00:12

Message par yellow »

Vandeput, je débute sur calc, je ne comprends pasla syntaxe "estnum"... sinon je testerais ce soir et je vous tiens au courant.

Quand tu dits pièce jointe, tu veux une capture d'écran?

Quand j'aurais règlé ce problème, je vais devoir compter les cellulles avec3, 1 et 0 pour mon classement, je sais que c'est beaucoup plus facile, j'ai lu ca sur un forum, je pense m'en sortir a ce moment là!
2.3 xp family
Vandeput
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 409
Inscription : 12 févr. 2007 15:33
Localisation : Bruxelles

Message par Vandeput »

Rebonjour,

ESTNUM est la même fonction que sous Excel (teste si le contenu de la cellule est numérique).
Pour plus d'explications, touche clavier F1 et ESTNUM comme terme recherché.

ESTNUM(F3) peut être remplacé par NON(ESTVIDE(F3)) ou par (F3<>"")
Idem pour G3.
J'ai donné la préférence à ESTNUM, car si par erreur tu tapes une lettre plutôt qu'un chiffre, la formule renverra 3 au lieu de 0.
La raison : la comparaison (F3>G3) s'établit sur base des codes ASCII et celui d'une lettre est toujours plus grand que celui d'un chiffre.

Si tu as d'autres problèmes, il est préférable de placer un extrait de ton fichier sur Ci-Joint (voir en haut de l'écran) et de mettre le lien sous ton message.
andré
2.2 sous Windows XP
yellow
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 19 avr. 2007 00:12

Message par yellow »

Pierre-Yves Samyn a écrit :Bonjour et bienvenue

Tu peux utiliser par exemple :

Code : Tout sélectionner

=SI(OU(F3=0;G3=0);"";SI(F3>G3;3;SI(F3=G3;1;SI(F3<G3;0))))
et

Code : Tout sélectionner

=SI(OU(F3=0;G3=0);"";SI(F3<G3;3;SI(F3=G3;1;SI(F3>G3;0))))
Avec ces formules, il suffit qu'une des deux cellules (F3 et G3) soit vide pour que rien ne s'affiche (tu peux mettre 0 à la place de "")
Salut Pierre Yves, ta formule fonctionne bien sur la première ligne, mais pas quand je l'étire a toute ma colonne.... :shock: Je ne comprends pas pourquoi!

1) ma formule est rentrée dans la colonne am et concerne les cases d et e!
2) lorsque je rentre le résultat, 3-2, en 3 et 4 j'ai bien le bon nombre de points (3 et 0), mais en dessous, la ou les scores sont 0-0 et 0-3, rien apparait dans les cases points: am et an!

Image

Pourtant, même en retappant manuellement les syntaxes, rien de rien...

Merci de votre aide!
2.3 xp family
yellow
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 19 avr. 2007 00:12

Message par yellow »

Vandeput a écrit :
Personnellement j'aurais écrit la formule de Pierre-Yves comme suit :
=SI(OU(F3="";G3="";F3<G3);0;SI(F3>G3;3;1))
Re bonjour, je continue dans mes experimentations, et ta formule a l'air de fonctionner dans tout le tableau Vandeput... je vous tiens au courant!

Ok, cela fonctionne dans les deux tableaux, le temps de mettre en place mon tableaux de classement et je reviens avec des questions! :lol:
Dernière modification par yellow le 19 avr. 2007 19:00, modifié 1 fois.
2.3 xp family
Vandeput
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 409
Inscription : 12 févr. 2007 15:33
Localisation : Bruxelles

Message par Vandeput »

J'en suis tout aise !
andré
2.2 sous Windows XP
yellow
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 19 avr. 2007 00:12

Message par yellow »

Vandeput a écrit :J'en suis tout aise !
:wink:

Aurais tu la formule, s'il te plait, pour trouver combien de 3, de 1 et de 0dans une ligne et dans une colonne? maerci!
2.3 xp family
Jeff
GourOOu
GourOOu
Messages : 9608
Inscription : 18 sept. 2006 11:40
Localisation : France

Message par Jeff »

Bonjour,

Tu devrai pouvoir y arriver par NB.SI
Vandeput
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 409
Inscription : 12 févr. 2007 15:33
Localisation : Bruxelles

Message par Vandeput »

Re,

Ce serait plus facile si tu mettais ton fichier sur Ci-Joint.

=NB.SI(la plage;le critère)
Exemple : =NB.SI(A1:A10;3) te renverra le nombre de 3 dans la colonne A1:A10
Idem pour les lignes :
=NB.SI(A1:F1;3)

Edition : salut Jeff, je ne t'avais pas vu !
andré
2.2 sous Windows XP
yellow
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 19 avr. 2007 00:12

Message par yellow »

Vandeput a écrit :Re,

Ce serait plus facile si tu mettais ton fichier sur Ci-Joint.

=NB.SI(la plage;le critère)
Exemple : =NB.SI(A1:A10;3) te renverra le nombre de 3 dans la colonne A1:A10
Idem pour les lignes :
=NB.SI(A1:F1;3)

Edition : salut Jeff, je ne t'avais pas vu !

Ok, je pensais que cela allait faire une capture d'écran...

Voila, mon fichier est ici:

http://user.services.openoffice.org/fr/ ... 072544.ods

J'ai un tableau domicile ou les points sont comptés horizontalement!
Sur le tableau exterieur, ils sont comptés par colonnes!

Je veux faire (quand je dit je veux, ce n'est pas j'exige :D ) faire un tableau de classement en trois parties:

Classement general, domicile, exterieur!

Pour le classement general, domicile et exterieur vont s'additionner!
Pour domicile, je vais devoir compter les 3 (et les multiplier par 3), les 1 (qui gardent leurs valeurs 1) et les 0, je doit donc les compter dans les lignes...

Je fini de mettre en place et je met le fichier a jour! je ne sais pas si je suis clair! En fait, je veux faire comme ce que l'on voit dans l'EQUIPE§ :D
2.3 xp family
yellow
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 19 avr. 2007 00:12

Message par yellow »

Finalement, avoir un 0 si la cellule est vide ne m'arange pas... car ils seront comptés en tant que matchs joués et perdus..... par quoi puis-je le remplacer?

merci
2.3 xp family
Jeff
GourOOu
GourOOu
Messages : 9608
Inscription : 18 sept. 2006 11:40
Localisation : France

Message par Jeff »

yellow a écrit :par quoi puis-je le remplacer?
Par rien ; ou plus exactement par "" (en AN3 par ex) :

Code : Tout sélectionner

=SI(OU(F3="";G3="");"";SI(F3<G3;0;SI(F3>G3;3;1)))
Puis rajouter une condition supplémentaire pour ton total en BD3 :

Code : Tout sélectionner

=SI(ET(SOMME(AN3:BC3)=0;NB.SI(AM3:BC3;0)<1);"";SOMME(AN3:BC3))
Comme je lis pas l' Equipe, pourrais-tu être plus précis dans tes questions ? :wink:
yellow
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 19 avr. 2007 00:12

Message par yellow »

Merci Jeff, avec ta première formule cela fonctionne, quand j'aurais fini je mettrais le fichier, il contiens deux feuilles, tu pourras te rendre compte!
2.3 xp family
yellow
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 19 avr. 2007 00:12

Message par yellow »

Merci à tous, voila mes tableaux sont en place, je met donc le fichier a disposition pour ceux que cela pourrait interesser:

http://user.services.openoffice.org/fr/ ... 081251.ods

Il contient deux feuilles, si vous voyez des améliorations, nh'ésitez pas, la critique est constructive!

enjoy
2.3 xp family
Vandeput
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 409
Inscription : 12 févr. 2007 15:33
Localisation : Bruxelles

Message par Vandeput »

Bonjour,

Beaux tableaux !

Un rapide coup d'oeil, mais il y a certainement encore autre chose :

Feuille1.AN3 : =SI(OU(F3="";G3="");"";(F3>G3)*3+(F3=G3))
La formule mise en place, ainsi que celle-ci, ne peut être copiée vers la droite (bien vers le bas).
Pour ne pas devoir la retaper dans chaque colonne il y aurait moyen de l'écrire autrement de façon à pouvoir l'étirer.

Feuille2.D24 : SI(E21=0;"";I21/(E21/2))
Ceci évite les ### lorsque E21=0

Feuille2.Q4 : =SOMMEPROD((MOD(COLONNE(Feuille1.F3:AJ3);2)=0)*1;Feuille1.F3:AJ3)
un peu simple que la formule à rallonges.
andré
2.2 sous Windows XP
Vandeput
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 409
Inscription : 12 févr. 2007 15:33
Localisation : Bruxelles

Message par Vandeput »

Re,

Je viens de voir une erreur générale, dont je n'ai pas recherché l'origine.

Si en Feuille1.F3 et G3 tu tapes 2 et 1, en Feuille2.D24 tu obtiens 4 comme moyenne de buts par match, alors que cela devrait être 3.

Regarde aussi ce fichier à télécharger (Excel) :
http://www.excel-downloads.com/telechar ... -1/308.htm
Il y en a d'autres sur le même site, sous la rubrique télécharger avec "championnat" comme clef de recherche.
andré
2.2 sous Windows XP
yellow
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 19 avr. 2007 00:12

Message par yellow »

Vandeput a écrit :Re,

Je viens de voir une erreur générale, dont je n'ai pas recherché l'origine.

Si en Feuille1.F3 et G3 tu tapes 2 et 1, en Feuille2.D24 tu obtiens 4 comme moyenne de buts par match, alors que cela devrait être 3.

Regarde aussi ce fichier à télécharger (Excel) :
http://www.excel-downloads.com/telechar ... -1/308.htm
Il y en a d'autres sur le même site, sous la rubrique télécharger avec "championnat" comme clef de recherche.
J'ai retrouvé quelques erreurs ce matin que j'ai corrigé manuellement...
Vandeput a écrit :Bonjour,

Beaux tableaux !

Un rapide coup d'oeil, mais il y a certainement encore autre chose :

Feuille1.AN3 : =SI(OU(F3="";G3="");"";(F3>G3)*3+(F3=G3))
La formule mise en place, ainsi que celle-ci, ne peut être copiée vers la droite (bien vers le bas).
Pour ne pas devoir la retaper dans chaque colonne il y aurait moyen de l'écrire autrement de façon à pouvoir l'étirer.

Feuille2.D24 : SI(E21=0;"";I21/(E21/2))
Ceci évite les ### lorsque E21=0

Feuille2.Q4 : =SOMMEPROD((MOD(COLONNE(Feuille1.F3:AJ3);2)=0)*1;Feuille1.F3:AJ3)
un peu simple que la formule à rallonges.
Oui je me suis retapé toutes les colonnes manuellement!

Ps merci pour le lien, je vais y jeter un oeil, par contre je n'arrive pas a recopier mon tableau de classement pour trier le classement...! Il me déplace bien les noms, mais les lignes de points restent a leurs places

http://user.services.openoffice.org/fr/ ... 094925.ods
2.3 xp family
Vandeput
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 409
Inscription : 12 févr. 2007 15:33
Localisation : Bruxelles

Message par Vandeput »

Rebonjour,

Peux-tu être plus précis, que veux-tu faire ?
Recopier Feuille2.B4:AA20 en Feuille2.B30:AA46, en triant les lignes sur la colonne D ?

Si c'est cela, il y a moyen de le faire de façon automatique, par formules.
andré
2.2 sous Windows XP
yellow
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 19 avr. 2007 00:12

Message par yellow »

Vandeput a écrit :Rebonjour,

Peux-tu être plus précis, que veux-tu faire ?
Recopier Feuille2.B4:AA20 en Feuille2.B30:AA46, en triant les lignes sur la colonne D ?

Si c'est cela, il y a moyen de le faire de façon automatique, par formules.
Re,

la dernière version du fichier ici!

http://user.services.openoffice.org/fr/ ... 101954.ods

En fait, en feuille2, le classment n'est pas trié, il est juste rempli des lignes que je lui ai donné. J'aimerais le mettre en ordre en triant ligne d, k et i dans l'ordre (décroissant pour toutes). J'ai donc fait un tri comme ci dessus (capture d'écran) puis annulé mon tri...

Edit: impossible de trouver d'autres liens sur ton lien cité plus haut... je ne suis pas enregistré!
Dernière modification par yellow le 20 avr. 2007 10:30, modifié 1 fois.
2.3 xp family
Vandeput
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 409
Inscription : 12 févr. 2007 15:33
Localisation : Bruxelles

Message par Vandeput »

Je viens de trier sur D, K et I et cela m'a l'air correct.

http://user.services.openoffice.org/fr/ ... 103005.wv1
andré
2.2 sous Windows XP
yellow
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 19 avr. 2007 00:12

Message par yellow »

Avec quoi ouvrir un fichier wv1? :shock:

Quand je fais le tri directement sur le tableau, je n'ai pas de soucis, mais avec les formules rentrées, je ne peux garder ce tri en mémoire... donc je voulais le recopier et le trier sur un autre tableau....
2.3 xp family
Vandeput
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 409
Inscription : 12 févr. 2007 15:33
Localisation : Bruxelles

Message par Vandeput »

Je clique sur le lien et le fichier s'ouvre !
Je n'y suis pour rien quant à l'extension, elle est générée automatiquement par Ci-Joint.

Je ne comprends toujours pas ce que tu veux faire.
andré
2.2 sous Windows XP
yellow
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 19 avr. 2007 00:12

Message par yellow »

Voila, mes formules me donnent ce tableau là:

Image

Moi, j'ai besoin de celui-ci:

Image

Quand je fais un copier/coller du premier dans un tableau vide, je n'obtiens pas le même ce qui m'empeche de faire mon tri après!
2.3 xp family
Vandeput
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 409
Inscription : 12 févr. 2007 15:33
Localisation : Bruxelles

Message par Vandeput »

Pour pouvoir copier le tableau, les références à la Feuille1 doivent être absolues.

Exemple :
En N4 : =NB.SI(Feuille1.AM3:BC3;"3")
doit devenir : =NB.SI(Feuille1.$AM$3:$BC$3;"3")
andré
2.2 sous Windows XP
yellow
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 19 avr. 2007 00:12

Message par yellow »

Vandeput a écrit :Pour pouvoir copier le tableau, les références à la Feuille1 doivent être absolues.

Exemple :
En N4 : =NB.SI(Feuille1.AM3:BC3;"3")
doit devenir : =NB.SI(Feuille1.$AM$3:$BC$3;"3")
Punaise je doit tout retaper? :shock:
2.3 xp family
Vandeput
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 409
Inscription : 12 févr. 2007 15:33
Localisation : Bruxelles

Message par Vandeput »

Le raccourci clavier Maj+F4 place les $ automatiquement.
Il est donc à conseiller de remplacer les formules à "rallonges" par celle dont je t'ai donné un exemple plus haut.

Mais tu peux également copier et trier en automatique par formules.
Vois l'exemple joint.

http://user.services.openoffice.org/fr/ ... 113416.wv2

La colonne A peut être masquée.
Formule en A4 à étirer vers le bas (même en dehors du tableau)
Formules en A27, B27 et C27
La formule en C27 à étirer jusqu'en AA27
Sélectionner A27:AA27 et étirer vers le bas (même en dehors du tableau)
andré
2.2 sous Windows XP
yellow
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 19 avr. 2007 00:12

Message par yellow »

Vandeput a écrit :Le raccourci clavier Maj+F4 place les $ automatiquement.
Il est donc à conseiller de remplacer les formules à "rallonges" par celle dont je t'ai donné un exemple plus haut.

Mais tu peux également copier et trier en automatique par formules.
Vois l'exemple joint.

http://user.services.openoffice.org/fr/ ... 113416.wv2

La colonne A peut être masquée.
Formule en A4 à étirer vers le bas (même en dehors du tableau)
Formules en A27, B27 et C27
La formule en C27 à étirer jusqu'en AA27
Sélectionner A27:AA27 et étirer vers le bas (même en dehors du tableau)

Bouh, je verrais cela ce soir a tete reposée.... :shock:
2.3 xp family
Répondre