Somme égale à zéro...

Fermé
Maouble Messages postés 4 Date d'inscription lundi 4 juin 2018 Statut Membre Dernière intervention 5 juin 2018 - 4 juin 2018 à 16:09
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 5 juin 2018 à 15:30


Bonjour,
Je suis actuellement en train de réaliser un tableur pro. C'est un planning de roulement. J'ai voulu définir pour chaque roulement le nombre d'heures correspondantes. Exemple : La cellule "M" correspond donc à 4,75h. Via une fonction SI je vérifie la valeur contenue dans la cellule et attribue un nombre d'heure correspondant.
Maintenant, ça se complique lorsque je cherche à faire la somme des heures d'un salarié sur 1 mois, la fonction somme affiche constamment zéro. J'ai bien vérifié que mes cellules étaient en format nombre . Peut-être est-ce lié au fait que Excel ne peut pas faire la somme des résultats de fonctions SI ?

J'espère que vous pourrez m'aider,
Bonne journée,
Majouble

4 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié le 4 juin 2018 à 17:38
Bonjour,

En voyant ton tableau, je dirais que toutes tes cellules contiennent des textes et qu'il ne suffit pas de mettre les cellules au format nombre pour que cela convertisse les textes qu'elles contiennent en nombre.

PS : mets toutes les cellules en alignement horizontal standard pour le confirmer, si les valeurs restent alignées à gauche comme c'est le cas sur ta photo, c'est que ce sont des textes.
2
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
4 juin 2018 à 17:42
Bonjour
il manque pas mal d'information dans votre message, et surtout, si vous pouviez déposer un modèle Excel plutôt qu'une image, ça faciliterait le travail
voyez ici:
http://mon-partage.fr
et revenez coller le lien créé sur le site
n'oubliez pas d'ajouter quelques explications dans le fichier si besoin.
A vous lire
crdlmnt
2
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
5 juin 2018 à 10:12
Bonjour

le problème n'est pas dans le format de cellule (qui devrait être en numérique puisque à priori vous utilisez des heures décimales, mais dans les formules du tableau,ou vous avez placé les horaires à afficher entre guillemets, ce qui les transforme en texte.
et on suppose que le séparateur de décimales est un point

alors si on prend l'exemple en C79, écrivez partout le type:
.......IFS(E7="M"; 4.75;.............

Mais vous auriez peut être la possibilité de faire plus simple directement dans le tableau du haut, avec ce principe; en AI par exemple:

=NB.SI(C4:AH4;"M")*valeur de M+NB.SI(C4:H4;"code")*valeur du code+........etc...

ça économiserait le tableau inférieur

crdlmnt
1
Maouble Messages postés 4 Date d'inscription lundi 4 juin 2018 Statut Membre Dernière intervention 5 juin 2018
Modifié le 5 juin 2018 à 10:52
Bonjour ! Merci beaucoup les guillemets étaient bien le problème ! Le tableau inférieur sera invisible, le premier doit être purement esthétique pour que l'équipe s'y retrouve. J'ai cependant désormais un autre soucis : J'ai une erreur "NOM?" pour toutes les cases où la formule est vide. J'ai rajouté pourtant la condition C4="" ; 0) afin d'avoir la valeur zéro pour les cases vierges mais ça ne fonctionne pas. Une idée ?
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
5 juin 2018 à 12:30
Re
je ne connais pas la fonction que vous utilisez, (_xlfn.IFS) et avec IFS mon Excel français fait un peu la g....e
difficile donc de vous répondre sur le sujet
pour moi, la formule devrait s'écrire
=SI(cell1=condition1;résultat1;SI(cell2=condition2;résultat2;SI(..... avec autant de parenthèses que de SI pour fermer!
Dans ce cas, la valeur SI(C4="";"" est à placer en tête

mais puisque vous voulez absolument conserver ce tableau et compte tenu de la liste imposante de codes et la longueur de la formule, j'utiliserais plutôt cette méthode:

1° créer un tableau hors champ (même si besoin sur une autre feuille) avec en première colonne la liste des codes et en seconde, sur la même ligne, la liste des valeurs correspondantes
2° nommer ce tableau par exemple coef
3° en C79, cette formule à tirer sur tout le tableau ( en anglais):

=IFERROR(VLOOKUP(C4;coef;2;0);0)

crdlmnt
0
Maouble Messages postés 4 Date d'inscription lundi 4 juin 2018 Statut Membre Dernière intervention 5 juin 2018
5 juin 2018 à 14:24
Re !
J'ai mis C4="";0 en premier ça a fonctionné ! Vous me retirez une belle épine du pied. Par simple curiosité savait pourquoi il est important de mettre cette partie de la formule en premier ?
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
5 juin 2018 à 15:30
Probablement, et c'est une mauvaise nouvelle, parce que vous allez , à l'utilisation, rencontrer d'autres problèmes de lecture de formule
Sachant que Excel s'arrête de lire la formule dès qu'une condition est remplie, il s'arrête lorsque C4 est vide si la condition est au début. Par contre, si elle est à la fin, il lit toute la formule avant de l'appliquer;
ce qui veut donc dire que si ça ne fonctionne pas, c'est qu'un autre élément de la formule pose problème.
On en reparle?
Crdlmnt
0
Maouble Messages postés 4 Date d'inscription lundi 4 juin 2018 Statut Membre Dernière intervention 5 juin 2018
5 juin 2018 à 08:49
Bonjour,
Merci pour vos réponses rapides, le test d'alignement horizontal à gauche confirme que les cellules sont bien du texte.
Pour Vaucluse voici le lien du classeur : https://mon-partage.fr/f/Lude3gsD/
Cordialement,
0