Excel MFC cellule = 0

Résolu/Fermé
Xavier - 25 janv. 2012 à 19:20
 XavieR - 26 janv. 2012 à 17:41
Bonjour,
Voilà, je travaille dans une entreprise d'usinage et je doit refaire un fichier excel concernant la planification des affaires en fonction des semaines et des machines utilisés en heure.


Je m'explique avec un exemple :
.
......................................semaine 1..............................
...............pièce 1......machine 1 100h.............
Affaire 1..pièce 2......machine 2 20...........
...............pièce 3......machine 3 45...............
...............pièce 1......machine 2 10..............
Affaire 2..pièce 2......machine 3 60..............
...............pièce 3......machine 2 150...........
.
Somme heure/machine1
Somme heure/machine2
Somme heure/machine3
.
.

J'utilise donc cette formule matricielle qui me calcule la somme des heures pour la machine 1, et ainsi de suite pour la machine 2,3....:

{=SOMME(DROITE((C22:C27);3)*SI(GAUCHE((C22:C27);3)=C33;1;0))}

Le nom "machine" dans mon cas a 3 lettres, en haut c'est juste un exemple...

Mais voilà dès qu'il y a une cellule vide au milieu de la colonne "semaine 1", la fonction m'affiche #VALEUR car je pense que c'est à cause de la fonction DROITE...Donc j'aimerais pouvoir éviter de calculer ces cellules vides.
J'avais pensé à une MFC qui mettrais toute les cellules vides du fichier comme égales à 0 et ensuite toutes les cellules contenant "0" en police blanche avec une autre MFC...est-ce que cela est possible ? Car si il y a un "0" dans la cellule ,ma fonction du dessus arrive à calculer.

Ou alors est-il possible de faire cette fonction mais en regardant la couleur de remplissage ? Par exemple je mettrais tous les "machine 1" en vert et la fonction me calculerais en fonction de cette couleur ...

Je ne suis pas fort du tout en VBA (je suis en gros apprentissage d'Excel) donc j'ai un peu de mal à trouver...si il n'y a que VBA ,dites toujours...lol


J'espère m'être bien exprimé...
Merci d'avance

3 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
25 janv. 2012 à 19:36
bonjour

Avec ta mfc tu ne peux pas intervenir selon tes souhaits mais en modifiant ainsi ta formule peut-être que tu auras ton résultat :

=SOMME(SI(NON(ESTVIDE((C22:C27)));DROITE((C22:C27);3);0)*SI(GAUCHE((C22:C27);3)=C33;1;0))
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
25 janv. 2012 à 19:40
Bonsoir
vous pouvez peut être utiliser simplement la fonction remplacer:
champ semaine 1 sélectionné:
ctrl h donne remplacer
fenêtre du haut, rien
fenêtre du bas,: 0 et remplacez tout.
crdlmnt
0
Merci gbinforme, cela marche impeccable !
0