Excel MFC cellule = 0

Résolu
Xavier -  
 XavieR -
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 15478 Statut Contributeur 4 727
 
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 27336 Statut Contributeur 6 441
 
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
XavieR
 
Merci gbinforme, cela marche impeccable !
0