Thanks for helping

I use the two ICs for different component, I am going to use the 5940 ust for driving some RGB led and I am going to use the 595 for multiplexing another part of my circuit. Basically I am not using just 5940 and multiplexing with them because I already spent lot of nights and many posts on this forum without being able to succeed.
Anyway...
So they are not linked together, they just should work on the same arduino. I have also a piece of (bad) code, when I set the Tlc.init() the shiftOut funcion stop working, but the Tlc works. If I don't set the part of the code for the 5940, the shiftOut works...
#include "Tlc5940.h"
int aPin = 2; int bPin = 6; int cPin = 4; int dPin = 7; //sn74141 pin
int latchPin = 8; int clockPin = 12; int dataPin = 5; //74hc595 pin
//TLC5940 pins are auto defined into the library
int gray=0;
void setup() {
Tlc.init();
pinMode(aPin, OUTPUT);
pinMode(bPin, OUTPUT);
pinMode(cPin, OUTPUT);
pinMode(dPin, OUTPUT);
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
long tempo=millis();
boolean toggle=0;
void loop(){
if (millis()-tempo >= 1000) {
tempo=millis();
toggle=!toggle;
}
gray+=50;
delay(10);
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000010);
sn74141pilot(toggle);
digitalWrite(latchPin, HIGH);
Tlc.clear();
Tlc.set(0, gray);
Tlc.update();
delay(10);
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B00000100);
sn74141pilot(!toggle);
digitalWrite(latchPin, HIGH);
if (gray==4095) gray==0;
}
void blank(){
sn74141pilot(15); //1111
delay(5);
}
void sn74141pilot(int num){
digitalWrite(aPin, B0001&num);
digitalWrite(bPin, B0010&num);
digitalWrite(cPin, B0100&num);
digitalWrite(dPin, B1000&num);
}
Thanks, Fede