Simplification d'une formule

Résolu/Fermé
gif50 Messages postés 29 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 5 juillet 2012 - 13 nov. 2008 à 11:42
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 14 nov. 2008 à 00:03
Bonjour,
J'ai des cellules d'un planning contenant les données suivantes correspondant au moment de la journée et aux nb d'heures éffectuées.
EX :
M6 pour matin 6 heures
S4 pour soir 4heures

Je récupère le nb d'heures avec la formule suivante :
STXT(B6;2;2) qui me récupère les 2 caractères à partir du 2eme dans la cellule B6 (le nb d'heures pouvant dépasser 10)

Ceci de B6 à NB6 pour les 365 jours de l'année.
Je fais la somme avec la formule suivante :
SOMME(SI(B6<>"";STXT(B6;2;2);0);SI(C6<>"";STXT(C6;2;2);0);SI(D6<>"";STXT(D6;2;2);0)etc.. ) jusqu'à la cellule NB6, ce qui me crée une formule extrèmement longue.

Quelqu'un aurait-il une solution pour réduire la longueur de cette formule ?

Merci à tous ceux qui voudront bien se pencher sur mon problème.

Gif50
A voir également:

3 réponses

michel_m Messages postés 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 313
13 nov. 2008 à 13:34
Bonjour,

qu'il y a t'il dans B6?
0
gif50 Messages postés 29 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 5 juillet 2012
13 nov. 2008 à 13:46
Pour exemple :
Dans B6 il y a "M6" c'est à dire matin, 6 heures.

En fait le but est de calculer le nombre d'heures effectuées dans une année soit 365 jours donc 365 cellules.
Peut-être est-ce possible par une macro, mais je ne connais pas bien le VB, alors si quelqu'un connait une façon d'automatiser le calcul, ça m'intéresse.

Cordialement,

Gif50
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 430
13 nov. 2008 à 14:07
Bonjour
Une bétise:
Ne serait il pas plus simple de créer une ligne supplémentaire pour renvoyer la partie num des cellules,par exemple en ligne 7:

en B7:
=STXT(B6;2;2) à tirer sur toute la longueur du champ jusqu' à NB7
........ne resterait plus que la somme à faire sur la ligne 7

A tout hasard, , pour des questions de présentation:
Cette opération peut se faire pour un tableau complet sur une seconde feuille, cachée, avec le résultat de la somme renvoyé sur la première.
Crdlmnt
PS: dans votre formule, quelle est l'utilité des SI, sachant que STXT(B6;2;2) donnera 0 si B6 n'a qu'une lettre ou rien.
0
gif50 Messages postés 29 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 5 juillet 2012
13 nov. 2008 à 14:37
Bonjour Vaucluse,

Effectivement la "bétise" fonctionne correctement et simplifie grandement mon problème.
En ce qui concerne le Si, j'ai eu le problème dans un autre tableau ou lieu de renvoyer 0, cela me renvoyait #valeur lorsque la cellule n'était pas remplie.

Merci beaucoup pour cette solution.

Si des fois il existait une solution encore plus simple je suis preneur.

Cordialement,

Gif 50
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
14 nov. 2008 à 00:03
Bonsoir tout le monde,

tu peux faire avec :
=SOMME(STXT(B6:NB6;2;2)*1)
formule matricielle à valider par shift+ctrl+enter, elle doit s'afficher entre { } si c'est bien fait

eric
0