12-bit PWM for LED lighting

Thank you very much for your answer cattledog.
Sorry to take so long to respond. The coronavirus situation has left us out of the office and now that I return to work I find myself with pending work. :sweat_smile:
Unfortunately I am not familiar with modifying registers and do not understand much of their specific functions. I have relied on copying the parameters to do this test program and I don't get the expected result.
When you say "use Timer1 in Mode 14, fast PWM with ICR1 as the top value", I don't quite understand what I should be doing.
I would appreciate if possible if you could tell me what I have to change.
Thank you very much again.

//12-Bit PWM on PIN9 using direct access to Timer1
//Fade in and out an LED connected to that pin

#define LEDValueWarm OCR1A  
#define LEDValueCool OCR1B

const int PWMMax = 4095;
int value = 1;
int direction = 1;

void setup() { 
  pinMode(9,OUTPUT);
  pinMode(10,OUTPUT);
  
// va bien mas o menos
  TCCR1A = (1 << COM1A1) |(1 << COM1B1) | (1 << WGM11);                // Enable Fast PWM on OC1A (Pin 9 warm) and in OC1B (Pin 10 cool)
  TCCR1B = (1 << WGM13) | (1 << WGM12) | (1 << CS10);   // Mode 14 Fast PWM/ (TOP = ICR1), pre-scale = 1
    

  ICR1 = PWMMax;  //Set the TOP value for 12-bit PWM
  LEDValueCool = 0;      //Set the PWM output to full off.
  LEDValueWarm = 0;      //Set the PWM output to full off.
}

void loop() {
  //Fade the LED between 0 and PWMMax and then back to 0
  value += direction;
  if (value <=0){
    direction = 1;
  }
  else if (value >= PWMMax){
    direction = -1;
  }
  LEDValueWarm = value;
  LEDValueCool = value;
  delay(25);
}