help: rgb controller by one button to 8 function

this is my code and its working but i don't know how to add the Multicolor LED cycles through the a spectrum of colors / light frequencies

// Defines the pin used for each color
int ledRed=3;
int ledBlue=5;
int ledGreen=6;

// Save the values to designate each color (0-254)
int valueRed=254;
int valueGreen=254;
int valueBlue=254;

// Defines the pins used for buttons
int BotonSelect = 8;
int BotonReduce = 9;
int BotonIncrement = 10;

int ledSelected = 0;

void setup() 
{ 

//Note that the pins used by the buttons are INPUT
pinMode(BotonSelect, INPUT);
pinMode(BotonReduce, INPUT);
pinMode(BotonIncrement, INPUT);

analogWrite(ledRed, 255);  
} 

// Default value: Red
// 0= Red, 1=Green, 2=Blue
int pinLed = 0;

void loop() 
{ 
   
 int valueLed = 0;

 if (digitalRead(BotonSelect) == HIGH) 
 {
    pinLed++;  
    
    // To not spend laps
    if (pinLed > 2) { pinLed=0; }
 
    // We turn off all LEDs and eluego is what will display only the LED Selected
    analogWrite(ledRed, 0);
    analogWrite(ledGreen, 0);
    analogWrite(ledBlue, 0);      
    
    // We wait until the button is released
    while (digitalRead(BotonSelect) == HIGH) {  }            
    delay(10); // We expect a little more ...
 }

 // Check if the value increases
 if (digitalRead(BotonIncrement) == HIGH) 
 { 
   if (pinLed == 0) { valueRed++; }
   if (pinLed == 1) { valueGreen++; }
   if (pinLed == 2) { valueBlue++; }
   
   delay(5);
  }
  
 // Check if the value reduce
 if (digitalRead(BotonReduce) == HIGH) 
 { 
   if (pinLed == 0) { valueRed--; }
   if (pinLed == 1) { valueGreen--; }
   if (pinLed == 2) { valueBlue--; }
   
   delay(5);
  }        
  
 // This is to not be of turns in the output value (0-254)
  if (valueRed > 254) { valueRed=254; }
  if (valueRed < 0) { valueRed=0; }
  
  if (valueGreen > 254) { valueGreen=254; }
  if (valueGreen < 0) { valueGreen=0; }

  if (valueBlue > 254) { valueBlue=254; }
  if (valueBlue < 0) { valueBlue=0; }    

//  Update the color value Selected
if (pinLed == 0) { analogWrite(ledRed, valueRed); }
if (pinLed == 1) { analogWrite(ledGreen, valueGreen); }
if (pinLed == 2) { analogWrite(ledBlue, valueBlue); }

}