Mise en forme conditionnelle complexe

Hello

Encore un petit problème:

Mon tableau comporte 5 pages avec les mêmes MFC (une page par type de métier), plus d'autres pages de calcul mais assez légère. Depuis que j'utilise tes formules, le temps de calcul est très long. Il faut environ 1mn pour afficher les couleurs, et effectuer la moindre addition.

Aurais-tu une autre solution magique?

Je peux te partager le doc si tu me donne un MP....

Je n'ai pas de solution ! les MFC requièrent en effet des ressources, mais je suis quand même étonné !!

Si tu enlèves les MFC, est-ce que cela diminue drastiquement le temps ?

Et surtout, supprime un maximum de lignes inutiles, pas la peine d'en conserver 1000 par feuille, GSheets permet de diminuer le nombre de lignes.

Tu peux toujours ensuite, si tu ne résous pas l'affaire m'envoyer en mp en cliquant sous mon pseudo la flèche vers le bas, puis l'enveloppe.

La formule en Français qui marche, je viens de tester.

=ENT((COLONNE()-3/9)*9+2)

C'est pour cela qu'il faut toujours partager un document, la traduction est alors automatique

Maintenant, ta formule ImoKa ne fonctionne pas car les parenthèses sont mal placées.

il y a peut-être une autre solution que les MFC, à savoir mettre en couleur lorsqu'on change le nom du site ... je regarderai aussi cela

Autre solution ...

  • supprime toutes les MFC
  • remplace X, Y, Z par les vrais sigles et mets en face les couleurs souhaitées
  • indique aussi les feuilles concernées
var sigles = ['X','Y','Z']
var couleurs = ['#00FF00','#008000','#00FFFF']
var feuilles = [ "Light", "Son", "Plateau", "Habilleuse +Machiniste"] // attention aux espaces, pluriel et majuscules

function onEdit(event){
  var feuille = event.source.getActiveSheet();
  var cellule = event.source.getActiveRange();
  if ( feuilles.indexOf(feuille.getName()) != -1 ){
    var col = cellule.getColumn()
    if( (col-3) % 9 == 0 ){
      var i = sigles.indexOf(cellule.getValue())
      if (i!=-1){
        feuille.getRange(cellule.getRow(),col,1,9).setBackground(couleurs[i]);
      }
      else{
        feuille.getRange(cellule.getRow(),col,1,9).setBackground('white');
      }
    }
  }
}

Exemples de couleurs pour t'aider ...

https://htmlcolorcodes.com/fr/

Pour mettre les valeurs en paramètres dans une feuille ...

  • les sigles sont en colonne A à partir de la ligne 2 d'une feuille Paramètres
  • les couleurs en colonne B
var param = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Paramètres')
var sigles = param.getRange('A2:A').getValues().join().split(",");
var couleurs = param.getRange('B2:B').getValues().join().split(",");
var feuilles = [ "Light", "Son", "Plateau", "Habilleuse +Machiniste"] // attention aux espaces, pluriel et majuscules

function onEdit(event){
  var feuille = event.source.getActiveSheet();
  var cellule = event.source.getActiveRange();
  if ( feuilles.indexOf(feuille.getName()) != -1 ){
    var col = cellule.getColumn()
    if( (col-3) % 9 == 0 ){
      var i = sigles.indexOf(cellule.getValue())
      if (i!=-1){
        feuille.getRange(cellule.getRow(),col,1,9).setBackground(couleurs[i]);
      }
      else{
        feuille.getRange(cellule.getRow(),col,1,9).setBackground('white');
      }
    }
  }
}
Rechercher des sujets similaires à "mise forme conditionnelle complexe"