IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs Google Discussion :

Appliquer une couleur de remplissage si une plage de cellules a un contenu identique.


Sujet :

APIs Google

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Commerce
    Inscrit en
    Février 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Commerce

    Informations forums :
    Inscription : Février 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Appliquer une couleur de remplissage si une plage de cellules a un contenu identique.
    Bonjour,
    Je rencontre un petit souci et requiers votre aide au sujet de l'utilisation de Google Sheets...
    En effet, je souhaite savoir quelle pourrait-être la formule (ou la façon de procéder ^^) me permettant d’appliquer une couleur de remplissage spécifique sur un ensemble de cellules si et seulement si ces dernières ont un contenu identique.
    Par exemple, j'ai une plage de cellules allant de M64 à M68 et je souhaiterai que toutes ces cellules soient en "vert" en tant que "couleur de remplissage" si toutes les valeurs sont égales (en sachant que ces valeurs numériques peuvent bien évidemment varier), et ne rien faire si une ou plusieurs des valeurs au sein de la plage "M64 à M68" ne sont pas égales.
    Merci d'avance pour votre aide. 🙂

  2. #2
    Membre confirmé

    Homme Profil pro
    Chomeur
    Inscrit en
    Juin 2006
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 347
    Points : 452
    Points
    452
    Par défaut
    Bonjour,

    Étant plus à l'aise avec Google App Script, je propose une solution via du code, mais il en existe peut-être d'autres directement depuis Sheet..?

    Une méthode comme suit pourrait faire l'affaire (à tester), mais il restera à voir quand et comment la déclencher :
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    // Récupération des données à vérifier
    var maSpreadsheet = SpreadsheetApp.openById("idSpreadsheet");
    var maSheet = maSpreadsheet.getSheetByName("nameSheet"); // Pourrait être remplacé par maSpreadsheet.getActiveSheet() ?
    var rangeAVerif = maSheet.getRange(); // range à déterminer
    var valAVerif = rangeAVerif.getValues();
     
    // Parcours des valeurs pour détermination si toutes sont égales
    var val;
    var isEgal = true; // Boolean de résultat du test
    for (var i = 0; i < valAVerif.length; i++) {
    	if(!val) { val = valAVerif[i]; } // affectation de la valeur de référence
    	if(val != valAVerif[i]) { isEgal = false; break; }
    }
     
    // Coloration du range (background et couleur d'écriture) si les valeurs parcourues sont toutes identiques
    if(isEgal) { rangeAVerif.setBackground("red"); rangeAVerif.setFontColor('white'); }

    En espérant que cela aide...
    Signature à venir...
    Ancienne : Divers NTIC (PHP, Dojo, à venir...) : http://tif44.fr/blog/

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Commerce
    Inscrit en
    Février 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Commerce

    Informations forums :
    Inscription : Février 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour et merci de ta réponse TIFéç.

    J'avoue que je ne suis pas du tout à l'aise avec tout ce qui est "codage" et fonctions à développer. ^^

    En fait, j'étais surtout parti du principe que j'aurai pu m'en sortir avec une simple règle de mise en forme conditionnelle sous Google Sheets.

    Nom : 190204091341137204.png
Affichages : 1304
Taille : 31,5 Ko

    Par exemple, je comptais simplement faire un test du genre "si moyenne de toutes les cellules de la plage = valeur cellule M64 alors on colorise toutes les cellules en bleu sinon on laisse tel quel", mais cela ne semble pas fonctionner (ou plutôt, je m'y prends sans doute mal).

    Pensez-vous que passer par les règles de mise en forme conditionnelle soit possible pour faire ce dont j'ai besoin ou suis-je vraiment obligé de passer par du code ?

    Merci encore pour votre aide.

  4. #4
    Membre confirmé

    Homme Profil pro
    Chomeur
    Inscrit en
    Juin 2006
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 347
    Points : 452
    Points
    452
    Par défaut
    Hum...
    J'ai un peu peiné à trouver la syntaxe, et je ne la trouve pas super élégante. Il y a peut-être mieux à faire...

    Mais, il semblerait qu'en combinant les fonctions "SI" et "ET", il soit possible d'obtenir le contrôle souhaité. J'obtiens bien la mise en couleur des cases H22 à H28 uniquement lorsqu'elles contiennnent toutes la même valeur à l'aide de la formule personnalisée suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ET($H$22=$H$23; ET($H$23=$H$24; ET($H$24=$H$25; ET($H$25=$H$26; ET($H$26=$H$27; $H$27=$H$28))))); VRAI; FAUX)
    A défaut de mieux, cela devrait pouvoir faire l'affaire, non ?
    Signature à venir...
    Ancienne : Divers NTIC (PHP, Dojo, à venir...) : http://tif44.fr/blog/

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Commerce
    Inscrit en
    Février 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Commerce

    Informations forums :
    Inscription : Février 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup pour ton aide, c'est super sympa.
    Effectivement, j'en étais moi aussi arrivé à ce genre de formule relativement fastidieuse, d'autant que j'ai plusieurs formules de ce type à reproduire sur des plages/cellules différentes.
    Néanmoins, cela fonctionne parfaitement. Du coup, je ne vais pas chercher plus loin pour le moment...
    En tous cas, je te remercie infiniment pour ton aide.

    Question bonus : J'ai bien tenté de chercher dans l'Aide de Google Sheets et mon ami Google, mais je n'ai pas trouvé le moyen de tester la couleur d'une cellule (ex: si cellule ou plage est de couleur verte, alors..., sinon ...) ? Je sais que cela est possible via des fonctions annexes (codage), mais je voulais juste savoir si cela été possible de tester cela uniquement via ces mises en formes conditionnelles (comme utilisé dans ma capture précédente) ? Ce n'est pas essentiel à l'heure d'aujourd'hui, mais si une telle fonction existe, je serai ravi de la connaitre car elle pourrait sacrement me servir pour plus tard. ^^

    Encore merci pour tout !

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/02/2018, 10h02
  2. Appliquer formule que sur une plage de cellules
    Par leloup84 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 31/08/2016, 14h59
  3. Réponses: 11
    Dernier message: 02/11/2015, 05h43
  4. Réponses: 12
    Dernier message: 30/12/2010, 14h30
  5. appliquer une macro a une plage de cellule variable
    Par johndeuf dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/11/2006, 16h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo