Dans une feuille de calcul Google, comment puis-je forcer une ligne à une certaine hauteur?


72

Dans une feuille de calcul Google Doc, j'aimerais que chaque ligne ait la même hauteur, quelle que soit la quantité de texte contenue dans chaque cellule.

J'ai essayé « redimensionner la ligne » mais peu importe combien de pixels que je mets, la ligne étend vers le bas à la hauteur de la plus haute cellule avec texte intégral élargi.

Comment puis-je forcer la ligne à rester à une certaine hauteur et insérer des barres de défilement pour tout texte plus long que cette hauteur?

texte alternatif

Voici une vidéo expliquant ce que je veux dire:

http://screenr.com/Ol4


Je ne peux pas trouver un moyen de le faire. Je serais intéressé de voir une solution à cela aussi.
ale

Il peut y avoir un moyen de montrer une quantité limitée de contenu, puis de le développer ou de l'ouvrir dans une boîte de dialogue en utilisant un script personnalisé. Dans quelle mesure êtes-vous lié à l'interface particulière analysée dans votre image?
Dan Roberts

La solution qu'il me faut pour pouvoir coller du "texte / des images sans fin" dans les petites cellules afin de pouvoir zoomer et regarder tout le texte si je le souhaite, mais pouvoir à tout moment, revenir en arrière et obtenir un aperçu de notes et code. Pour l'instant, je ne peux pas obtenir cet aperçu car les textes longs et les insertions de code développent tout ce qui s'est passé jusqu'à la page.
Edward Tanguay

Je viens juste de rejoindre le groupe, de sorte que mon manque de points de repérage signifie que je ne suis pas autorisé à modifier la solution de user554370, à savoir ajouter le gros morceau de texte sous forme de commentaire. Je ne sais pas si cela aurait résolu la question du PO, mais cela m'a certainement aidé, alors merci.

A pris la liberté de voter !!
Jacob Jan Tuinstra

Réponses:


24

Il n'y a pas de solution pour celui-ci. Ceci est juste comment HTML fonctionne. Ils utilisent Tableau pour les cellules et par défaut, il n’ajoute pas de barres de défilement si le texte ne tient pas. Peut-être qu'ils vont changer cela à l'avenir, mais je ne pense pas que cela soit dans leur liste de priorités. Et il semblerait que vous ne puissiez fusionner des cellules que horizontalement, au cas où vous souhaiteriez fusionner verticalement pour rendre l’apparence plus agréable.


5
Je me demande pourquoi ils n'ont pas implémenté overflow:scrollsur les cellules pour permettre cela.
ale

6
@Lipis incorrect. Ce n'est pas une limitation de HTML. Un simple <div style = "overflow: hidden; height: 20px;"> laisser ici </ div> ferait l'affaire.
Levitikon

1
@ Levitikon, mais pouvez-vous imaginer à quel point ce serait moche avec autant de barres de défilement? et si vous n'avez pas de barres de défilement, vous ne verrez pas l'intégralité du texte .. et vous deviez deviner qu'il y avait quelque chose de plus à voir après que vous ayez cliqué dessus ou quelque chose d'autre. Je ne pense pas que ce soit un bonne solution ..
Lipis

3
@ Lipis: Vous avez donc cellule {overflow: hidden} cellule: survol {overflow: scroll} et vous ne voyez alors que la barre de défilement de la cellule sur laquelle vous passez.
RickMeasham

1
Il est maintenant possible de fusionner des cellules verticalement.
Rubén

22

J'ai constaté qu'il est utile d'ajouter une ligne supplémentaire sous la ligne sur laquelle vous travaillez, puis de fusionner les deux lignes ensemble .

Maintenant, si vous collez un texte long dans l’un des champs de la ligne "double", il ne vous montrera que quelques lignes, ce qui vous permettra de garder votre feuille propre et facile à gérer. Le texte de n'importe quel champ se développe pour que vous puissiez le lire si vous double-cliquez sur ce champ.

Un exemple d'extrait de feuille de calcul démontrant le comportement décrit

Des inconvénients apparaissent lorsque vous essayez de réorganiser ou de trier des lignes, par exemple, car les lignes fonctionnent "par deux" avec cette solution, mais peut-être que ce n'est pas un gros problème.


Voilà une solution de contournement créative qui fonctionne vraiment! Si cela ne vous dérange pas la rangée vide supplémentaire. Bonne pensée! Une mise en garde: vous ne pouvez pas activer les filtres sur une plage contenant des lignes fusionnées de la sorte.
JD Smith

super tour !!!!!
voxter

20

Quatrième option à droite (barre de menus - une fois que vous êtes dans la feuille de calcul avec les résultats, etc.). Il y a une option "WRAP TEXT", sélectionnez les lignes que vous voulez et cliquez dessus.

Cela a réglé le problème pour moi. Une fois que le texte était recouvert et que toutes les lignes avaient une hauteur unique, je pouvais également sélectionner toutes les lignes et les redimensionner toutes lorsque vous redimensionniez une, comme dans Excel.

** Le 'texte en boucle' ne figure dans aucun des menus déroulants, il s'agit d'un bouton sur le ruban situé en dessous (même section que l'alignement horizontal et vertical).


2
Cette réponse est beaucoup plus utile que celle acceptée!
freitass

24
@freitass: Pour le PO, ce n'est pas "plus utile". Il a du code dans sa cellule qui a beaucoup de sauts de ligne. Désactiver l'emballage ne réglera pas son problème (ou mon problème) car vous vous retrouvez avec une cellule aussi longue que le nombre de nouvelles lignes de votre contenu. Il serait travailler pour le texte du paragraphe bien. Mais ce n'est pas le problème du PO.
RickMeasham

4
Bien que cette réponse puisse être utile, elle ne résout pas le problème du PO.
Rubén

Cela ne fonctionne pas si vous avez des sauts de ligne dans le texte tels que des paroles ou de la poésie.
Wes Modes

13

Lorsque les cellules contiennent des caractères de saut de ligne, les options de formatage 'Dépassement', 'Retour à la ligne' et 'Clip' n'ont pas pour effet souhaité de limiter la hauteur de la ligne.

Pour contourner ce problème, vous pouvez créer une colonne adjacente utilisant une formule pour supprimer les caractères de saut de ligne, puis masquer la colonne d'origine. Cette approche préserve la possibilité de filtrer et de trier correctement les données.

Une de ces formules est la suivante =arrayformula( iferror( SUBSTITUTE(A:A,char(10), " " ) )):. Collez-le dans la ligne 1 (la ligne d'en-tête) d'une colonne adjacente, en le remplaçant A:Apar le libellé de la colonne source.

Cachez la colonne d'origine, puis appliquez le formatage [débordement | wrap | clip] à la colonne nouvellement créée.

Montrant la grande rangée indésirable

Afficher une ligne de taille pratique et la formule qui le permet


8

Que diriez-vous d'utiliser des notes?

J'avais des caractères de nouvelle ligne dans mon texte que je voulais montrer d'une manière ou d'une autre sur une seule ligne également - ce que j'ai fini par faire, c'était d'ajouter le texte long à une note. Celles-ci peuvent être nombreuses et montrer quand vous flottez - ce qui est à propos de la fonctionnalité que je cherchais. Le seul problème qui reste est que la boîte à billets est très étroite!

Voici à quoi cela ressemble maintenant quand flottant sur la cellule:

Données avec des nouvelles lignes dans les notes (Google Sheets)

(Je réalise que cela ne résout pas le problème du PO, comme indiqué, mais il n'y a aucun moyen d'obtenir ce qu'ils demandent, actuellement dans Google Sheets.)


1
Idée fantastique et toujours d'actualité en 2018, merci beaucoup!
Liran H

6

Les nouvelles Google Sheets permettent de fusionner des cellules verticalement. Cela fait que la hauteur de la ligne est conservée; lorsque la cellule est en mode édition, la barre de défilement verticale est affichée.

Exemple

Instructions - Pour fusionner des cellules verticalement, puis redimensionner le brut, vous devez sélectionner la cellule + une cellule ci-dessous, puis fusionner:

  1. N'utilisez pas la touche CTRL pour sélectionner plusieurs cellules à fusionner, mais utilisez MAJ + touche Flèche vers le bas (il s'agit peut-être d'un bogue dans Google Sheets, car la sélection de cellules adjacentes avec CTRL rend l'option de fusion indisponible).

  2. Appuyez sur le bouton de fusion (également disponible dans le menu: Format> Fusionner les cellules> Fusionner verticalement).


2

Il n’existe aucun moyen, l’emballage affectera la largeur de la cellule et non sa hauteur. Chaque fois que cela me dérange, j'ajoute le texte sous forme de bloc de commentaires. Faites simplement un clic droit sur une cellule pertinente et sélectionnez "commenter" dans le menu contextuel; supprimez le texte généré automatiquement et collez le vôtre. De cette façon, vous pourrez maintenir une hauteur de ligne fixe pour toutes vos lignes.


2

Je suis capable d'y parvenir de deux manières:

  • Désactivez le retour à la ligne dans toutes les cellules de la ligne (comme tout le monde l’a déjà mentionné)
  • Remplacez tous les sauts de ligne à l'intérieur du texte par 1000 espaces (les 1000 espaces apparaîtront comme un saut de ligne)
  • Remplacez tous les onglets à l'intérieur du texte par 4 espaces (les 4 espaces apparaîtront sous forme d'onglets)

J'ai écrit un script à exécuter à partir de Outils-> Editeur de script:

function myFunction() {

  var r=SpreadsheetApp.getActiveSheet().getDataRange();
  var rws=r.getNumRows();
  var cls=r.getNumColumns();
  var i,j,a,find,repl;
  find="\n";
  repl="                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ";
  for (i=1;i<=rws;i++) {
    for (j=1;j<=cls;j++) {
      a=r.getCell(i, j).getValue();
      if (r.getCell(i,j).getFormula()) {continue;}
      try {
        a=a.replace(find,repl);
        r.getCell(i, j).setValue(a);
      }
      catch (err) {continue;}
    }
  }
}

C'est ce qui ressemble à s'est effondré: entrez la description de l'image ici

Voici à quoi cela ressemble quand on clique deux fois sur la cellule et la développe avec une barre de défilement verticale: entrez la description de l'image ici


1

Je suis d’accord pour dire que c’est impossible jusqu’à présent, mais avez-vous essayé d’utiliser différents caractères hexadécimaux, comme NBSP, pour votre texte? Cela rendrait les choses laides et ferait perdre la mise en forme que j'ai remarquée sans retour chariot La longueur de l'entrée n'a aucune incidence sur la hauteur.

Edit: Vous devez également soumettre votre (idée très bien présentée) ici


1

Tout d’abord, supprimez tous les filtres de votre feuille si vous en avez. Ensuite, ajoutez simplement ce script dans votre éditeur de script et exécutez-le.

function myFunction() {
   var ss = SpreadsheetApp.getActiveSpreadsheet();
   var sheet = ss.getActiveSheet();
   var maxRows = sheet.getMaxRows(); 
   //Logger.log(maxRows);
   for (var i=2; i<=maxRows;)
   {
     sheet.insertRowAfter(i);
     range = 'A'+ i.toString() + ':Z' + (i+1).toString();
     sheet.getRange(range).mergeVertically();
     //sheet.setRowHeight(i+1, 1);
     i += 2;
   }
}

Remarque: si vous souhaitez également redimensionner vos lignes, supprimez la mise en commentaire de l'avant dernière ligne.


0

S'ils n'offrent pas cette fonctionnalité, votre seule option peut être de créer un script Greasemonkey , en supposant que vous le vouliez si mal.


0

Facile. Sélectionnez toutes les cellules de la feuille de calcul, puis désélectionnez le bouton WRAP TEXT. Voir le bouton mis en évidence dans la capture d'écran ci-dessous. Chaque ligne et colonne reviendra à des tailles identiques.

entrez la description de l'image ici


6
Cela ne fonctionne que si le texte est enveloppé. Si le texte contient des retours à la ligne ou de nouvelles lignes (comme le texte posté dans la question), ce bouton ne fait rien.
Ze

1
cela m'a aidé pour un problème similaire où la hauteur des rangées ne fonctionnerait pas correctement. Notez également que l'icône est légèrement différente dans la dernière version de Google Documents (publiée fin 2014).
meklarian

0

Cela a à voir avec le fait que vous copiez et colliez à partir d'autre part. Si vous collez, copiez d’abord le matériau dans le Bloc-notes et éliminez les espaces inutiles. Collez ensuite dans Google Spreadsheet. Ensuite, le wrap fonctionnera correctement.


0

Le texte enveloppé a fonctionné pour moi. Voici pourquoi: Après avoir déroulé la ligne en question, j'ai remarqué qu'il y avait une colonne pour laquelle quelqu'un avait considérablement réduit la largeur. Pas un seul caractère ne pourrait être placé correctement dans cette colonne (mais il y avait quelques lignes de texte dans cette colonne) et cela avait provoqué une croissance considérable de la hauteur de la ligne. Comme la colonne était si petite, aucun texte n'était visible et même après le redimensionnement, la hauteur de la ligne ne changeait pas. Une fois déballé, il suffisait de changer la largeur de la colonne et d’envelopper à nouveau la ligne.


-2

Quatrième option à droite (barre de menus - une fois que vous êtes dans la feuille de calcul avec les résultats, etc.). Il y a une option "WRAP TEXT", sélectionnez les lignes que vous voulez et cliquez dessus.


3
Comment cela répond-il à la question?
Vidar S. Ramdal

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.