J'ai une feuille de calcul avec environ 300 lignes. Chaque ligne a environ 15 colonnes et chaque cellule contient une valeur numérique. Chaque ligne correspond à un produit.
Je veux obtenir Excel, pour chaque produit, pour mettre en évidence les cellules avec les nombres les plus élevés en rouge et les nombres les plus bas en jaune, avec un dégradé pour les nombres entre les deux. C'est ce qui se passe si je sélectionne une ligne (en particulier, les 15 cellules de la ligne qui contiennent mes données), puis cliquez sur Mise en forme conditionnelle> Échelles de couleurs> Échelle de couleurs rouge-jaune.
Cependant, j'ai 300 lignes et il faudra trop de temps pour sélectionner chaque ligne individuellement et définir la mise en forme conditionnelle. D'un autre côté, si je sélectionne toute la plage et applique la mise en forme conditionnelle, Excel calcule les couleurs en fonction de toute la plage, alors qu'en fait je veux qu'elles soient calculées ligne par ligne. Par exemple, prenez cet exemple de données:
1 2 3
4 5 6
7 8 9
La sortie que je veux, en utilisant Y pour le jaune, O pour l'orange, R pour le rouge, est:
Y O R
Y O R
Y O R
Cependant, si je sélectionne toute la plage et applique la mise en forme conditionnelle, j'obtiens:
Y Y Y
O O O
R R R
Existe-t-il un moyen d'accomplir cela sans le faire une ligne à la fois?
la source
Réponses:
Voici une macro qui crée un format conditionnel pour chaque ligne de votre sélection. Pour ce faire, il copie le format de la première ligne dans CHAQUE ligne de la sélection (une par une, pas complètement). Remplacez B1: P1 par la référence à la première ligne de votre tableau de données.
Pour l'utiliser, mettez en surbrillance les lignes non formatées de votre jeu de données (dans mon cas, B2: P300 ), puis exécutez la macro. Dans l'exemple ci-dessous, notez que les nombres maximum dans les deux premières lignes sont respectivement 5 et 15 ; les deux cellules sont rouge foncé .
Je suis sûr qu'il existe une solution plus rapide que cela, cependant.
la source
La façon la plus simple d'y parvenir est de copier / coller progressivement. Tout d'abord, formatez 1 ligne comme vous le souhaitez. Copiez et collez ensuite la mise en forme uniquement sur SEULEMENT une deuxième ligne. Copiez maintenant les DEUX lignes 1 et 2 et collez la mise en forme sur les lignes 3 et 4. Rincez et répétez, copiez 4, passé 4, copiez 8, collez 8, copiez 16, collez 16. Une fois que vous avez obtenu une quantité décente comme 16, collez-le plusieurs fois pour obtenir jusqu'à 64 ou 128. Ensuite, vous pouvez les copier et coller leur mise en forme, et vous couvrir de façon exponentielle plus de territoire qu'auparavant.
Ce n'est pas élégant, et d'après mon expérience, les ressources nécessaires pour formater conditionnellement la ligne de manger commencent à être maximisées autour de 2500 lignes ... mais cela fait le travail.
Je souhaite juste qu'il y ait une logique qui n'a pas créé un format conditionnel séparé pour chaque ligne, monopolisant les ressources ...
la source
Je viens de trouver ceci et d'autres exemples sur la façon de le faire via VBA et cela m'a fait réfléchir et j'ai trouvé un moyen relativement rapide et indolore de faire la même chose sans avoir à connaître ou copier un script.
Appliquez la mise en forme conditionnelle souhaitée à la ligne souhaitée, puis mettez en surbrillance la ligne entière. Cliquez avec le bouton droit de la souris n'importe où le long de la bordure (la souris doit être l'icône Déplacer) et faites-la glisser vers la ligne suivante. Dans le menu contextuel qui apparaît, sélectionnez "Copier ici en tant que formats uniquement". Vous devez maintenant appliquer séparément votre format conditionnel aux deux lignes. Continuez ensuite à le faire récursivement, sauf que vous pouvez maintenant sélectionner et copier 2 lignes ou plus à la fois.
Ce n'est pas un accord unique comme le code ci-dessus, mais il est exponentiellement plus rapide que de faire une ligne à la fois. J'espère que cela t'aides.
la source
Vous pouvez également appliquer la mise en forme de condition à une ligne. Mettez à nouveau la ligne en surbrillance et double-cliquez sur "Format Painter" pour la verrouiller. Utilisez la touche fléchée vers le bas pour appliquer la condition aux autres lignes.
Car mon entreprise bloque généralement les macros dans Excel, donc cela fonctionne pour moi. j'espère que cela vous aide aussi.
la source