2012-11-19 15:11:43 +0000 2012-11-19 15:11:43 +0000
80
80

Excel - Empêcher le texte d'une cellule de déborder dans la cellule suivante (vide)

Lorsque vous avez du texte dans une cellule Excel qui est trop longue pour être affichée dans la zone visible de cette cellule, et que la cellule suivante à droite est vide, Excel permet au texte d'être affiché dans cette cellule suivante (et la suivante, et la suivante, selon les besoins). Je veux changer cela ; je veux éviter ce débordement de texte.

Je sais que je peux éviter cela en activant le “word wrap” et en ajustant la hauteur des lignes. Mais ce n'est pas ce que je veux.

Je veux modifier le comportement par défaut d'Excel afin qu'il n'affiche la valeur de chaque cellule que dans la zone visible de cette cellule. Pas de débordement, pas de “word wrap”.

Est-ce possible ? (Au fait, j'utilise Excel 2010).

Réponses (8)

53
53
53
2015-10-22 13:28:31 +0000

Oui, vous pouvez changer ce comportement, mais vous ne voudrez probablement pas des effets secondaires que cela entraîne.

La clé pour limiter le contenu des cellules aux limites de la cellule, que la cellule adjacente contienne ou non des données, est l'alignement du texte Fill. Sélectionnez les cellules que vous ne voulez pas déborder et faites un clic droit dessus > Format des cellules… > Onglet Alignement > Alignement horizontal > Remplissage

Le problème de cette méthode est que cela va en fait remplir les cellules en répétant leur contenu quand il est assez court pour tenir dans la cellule plusieurs fois. Voir la capture d'écran ci-dessous pour savoir ce que cela signifie. (Notez que B7 est rempli de ‘texte court’.)

Il semble que vous serez coincé avec les solutions de contournement dans Benedikt’s post

Notez que vous pourriez également remplir les cellules adjacentes avec des caractères à cocher (') en utilisant la première méthode très intelligente de Benedikt. De cette façon, vous n'avez rien à cacher, vous évitez le débordement des cellules et si vous copiez les cellules en tant que texte (disons dans le bloc-notes), vous obtenez toujours du texte vide et non des espaces ou des coche.

27
27
27
2015-07-24 13:00:33 +0000

Voici comment je procède.

  1. Option 1: Remplissez toutes les cellules vides avec un “N/A” et utilisez ensuite le formatage conditionnel pour rendre le texte invisible.
  2. Ou Option 2: Remplir toutes les cellules vides avec 0 et utiliser un paramètre Excel pour cacher les valeurs zéro.

Remplir toutes les cellules vides: (testé sur un Mac)

  • Edit → Aller à … → Spécial … (Sur Windows : Accueil → Edition → Trouver & sélectionner → Go To Special …)
  • Sélectionner “Blancs” et appuyer sur OK.
  • Toutes les cellules vides sont maintenant sélectionnées. Ne cliquez sur rien.
  • Tapez “N/A” ou 0, puis appuyez sur Ctrl+Enter†. La valeur sera ainsi insérée dans toutes les cellules sélectionnées.

Conditional Formatting to Hide “N/A ”

  • Format → Conditional Formatting.
  • Create new rule.
  • Style : Classique, et Utiliser une formule pour déterminer les cellules à formater.
  • Formule : =A1="N/A"
  • Formater avec : Formatage conditionnel : Couleur de police blanche, sans remplissage.

Cacher les zéros

  • Excel → Paramètres → Affichage.
  • Décocher “Afficher les valeurs zéro”.

________________ †&nbsp ; C'est Ctrl+Entrée,pas Ctrl +Maj+ Entrée.

13
13
13
2017-04-17 12:50:46 +0000

Essayez d'entrer la formule = “”“ (c'est-à-dire deux guillemets doubles) dans la cellule adjacente où vous ne voulez pas voir le débordement. Cette valeur est "nulle”, ce qui n'affiche rien et n'affecte pas les mathématiques.

7
7
7
2017-12-13 19:27:48 +0000

Cette option n'est peut-être pas accessible à tous, mais si vous importez le document dans Google Sheets, cette fonctionnalité est prise en charge par défaut. Dans la barre de menu supérieure, trois types d'habillage de texte sont pris en charge. Débordement, habillage et clip. Vous recherchez clip.

Selon les besoins, cette option peut être viable pour certaines personnes.

4
4
4
2018-11-28 00:26:59 +0000

En développant la solution consistant à utiliser ' pour bloquer le déversement de texte vers la droite de Excel dans les cellules vides adjacentes, il arrive que vous ne souhaitiez pas modifier/corrompre votre colonne de données en y insérant cette valeur.

Au lieu d'insérer le ' dans vos valeurs de données réelles, vous pouvez créer une nouvelle colonne verticale dédiée à cet effet, entièrement remplie de caractères ' jusqu'en bas.

1. Colonne barrière

2. Insérez la colonne “barrière” à gauche de la ou des colonnes que vous voulez protéger.

3. Réduisez les colonnes de la barrière en fixant leur largeur à une petite valeur

Fixez la largeur de la colonne à une valeur telle que .1, ou bien gardez les colonnes de la barrière plus larges pour agir comme une marge ou un espace entre les colonnes.

Notez que vous devez fixer une largeur supérieure à zéro ; fixer la largeur de la colonne de la barrière verticale à zéro reviendra au comportement de débordement de cellule indésirable.

**4. Voilà !

4
4
4
2017-10-31 15:09:07 +0000

Utilisez l'alignement horizontal du texte “Fill” pour la cellule. Vous pouvez le trouver au même endroit que les autres options d'alignement qui devraient résoudre votre problème

1
1
1
2019-06-24 08:59:09 +0000

Dans Excel, ajustez la colonne à la largeur requise, puis activez le défilement des mots sur cette colonne (ce qui fera augmenter la hauteur de toutes les lignes) et enfin sélectionnez toutes les lignes et ajustez la hauteur des lignes à la hauteur souhaitée. Et voilà ! Vous avez maintenant du texte dans les cellules qui ne débordent pas vers les cellules adjacentes.

(Note : j'ai trouvé ceci et je l'ai posté comme commentaire dans la réponse sélectionnée, mais je l'ai aussi posté comme réponse, donc il sera plus facile à trouver pour les autres).

0
0
0
2019-09-23 04:17:44 +0000

Dans le même ordre d'idée que Google Sheets n'est peut-être pas pour tout le monde, cette macro peut ne pas être pour tout le monde mais elle peut être pour quelqu'un.

Elle parcourt la plage sélectionnée et remplace les cellules débordantes par du texte tronqué.

Flags détermine si :

  • le texte incriminé est copié à la même adresse relative dans une nouvelle feuille de calcul ou s'il est rejeté.

  • le texte tronqué est codé en dur ou lié par la formule de la feuille de calcul =LEFT()

  • le texte tronqué est lié par hyperlien à la chaîne complète dans la nouvelle feuille.

_La valeur par défaut est de conserver les données et d'utiliser les deux liens.

Option Explicit

Sub LinkTruncatedCells()
    Dim rng As Range: Set rng = Selection
    Dim preserveValues As Boolean: preserveValues = True
    Dim linkAsFormula As Boolean: linkAsFormula = True
    Dim linkAsHyperlink As Boolean: linkAsHyperlink = True
    Dim w As Single
    Dim c As Range
    Dim r As Range
    Dim t As Long
    Dim l As Long
    Dim s As String
    Dim ws As Worksheet
    Dim ns As Worksheet
    Application.ScreenUpdating = False
    Set ws = rng.Parent
    For Each c In rng.Columns
        w = c.ColumnWidth
        t = 0
        l = 0
        For Each r In c.Rows
            If Len(r) > l Then
                s = r
                If CBool(l) Then r = Left(s, l)
                Do
                    r.Columns.AutoFit
                    If r.ColumnWidth > w And Len(s) > t Then
                        t = t + 1
                        r = Left(s, Len(s) - t)
                        l = Len(r)
                    End If
                Loop Until t = Len(s) Or r.ColumnWidth <= w
                r.ColumnWidth = w
                If r <> s And preserveValues Then
                    If ns Is Nothing Then
                        Set ns = ws.Parent.Worksheets.Add(after:=ws)
                    End If
                    ns.Range(r.Address) = s
                    If linkAsFormula Then r.Formula = "=LEFT(" & ns.Name & "!" & r.Address & "," & l & ")"
                    If linkAsHyperlink Then ws.Hyperlinks.Add Anchor:=r, Address:="", SubAddress:= _
                            ns.Range(r.Address).Address(external:=True)
                End If
            End If
        Next r
    Next c
    ws.Activate
    Application.ScreenUpdating = True
End Sub

Note finale : je l'ai utilisé pour des projets personnels et je l'ai trouvé fiable, mais veuillez sauvegarder et sauvegarder votre travail avant d'essayer une macro inconnue.