2 votes

Rotation du texte sans rotation de la bordure

J'essaie de faire pivoter le texte à l'intérieur d'une cellule sans modifier la bordure de la cellule.

C'est à peu près le résultat escompté :
Intended result
Sortie de courant :
current result

La seule solution que j'ai trouvée jusqu'à présent consiste à diviser toutes les colonnes ou toutes les lignes en ajoutant des lignes/colonnes entre les deux, puis à fusionner. Si je dois le faire, Je peux le faire mais je préférerais une autre option.

Je suis assez à l'aise avec VBA si quelqu'un a une solution programmatique.

EDITです。

Mon résultat après avoir essayé les solutions proposées. Le bord de la cellule est toujours incliné.
Attempt Two

2voto

Ron Rosenfeld Points 7038

Il suffit d'utiliser l'outil Orientation dans la boîte de dialogue Alignement Format Cells => Alignment

enter image description here

Si vous définissez Frontières que vous devez maintenir droit, vous devrez placer votre texte en angle dans des cellules fusionnées.

enter image description here

2voto

harrymc Points 394411

Le seul moyen que je vois pour avoir un texte en angle dans une cellule carrée, est de retirer le texte de la cellule.

Le texte se trouve alors à l'intérieur d'une zone de texte qui est elle-même inclinée, et la boîte serait placée au-dessus d'une cellule redimensionnée pour s'adapter à la boîte de texte.

Pour faciliter le redimensionnement de la cellule sans qu'il soit nécessaire de redimensionner manuellement la zone de texte, vous pouvez définir les paramètres suivants la zone de texte, vous pouvez définir les paramètres suivants dans la boîte de dialogue Format Shape de la zone de texte :

  • En Options de forme > Taille et propriétés Sous Propriétés, définissez "Déplacer et dimensionner avec les cellules"
  • Au même endroit, sous Zone de texte, réglez "Redimensionner la forme pour l'adapter au texte"
  • Définir d'autres propriétés si nécessaire.

0voto

Ceasar Points 74

Ce bouton se trouve dans l'onglet d'accueil d'Excel. enter image description here

0voto

Version finale de la réponse acceptée, pour les personnes intéressées.

Sub ConvertCellTextToRotatedTextBox(Optional RG2 As Range)

    Dim I As Long
    Dim RG As Range
    Dim CL As Range
    Dim TextShape As Object

    If Not RG2 Is Nothing Then
        Set RG = RG2
    Else
        Set RG = Selection
    End If

    If RG.Cells.Count > 200 Then
        If MsgBox("You are trying to cycle through " & RG.Cells.Count & " Cells. Are you Sure???", _
            vbYesNo, "***WARNING***") = vbNo Then
                Exit Sub
        End If
    End If

    For Each CL In RG.Cells
        If CL.Value <> "" Then
            Set TextShape = ActiveSheet.Shapes.AddLabel(msoTextOrientationHorizontal, 129.75, 204, 72, 72)
            With TextShape
                .TextFrame2.TextRange.Characters.Text = CL.Value
                .TextFrame2.TextRange.ParagraphFormat.Alignment = msoAlignCenter
                .TextFrame2.VerticalAnchor = msoAnchorMiddle
                .Left = CL.Left
                .Top = CL.Top
                .Width = CL.Width
                .Height = CL.Height
                .Rotation = 5
                .Select
            End With
            Selection.Formula = "=" & CL.Address
            CL.Font.Color = CL.Interior.Color
        End If
    Next CL

    Exit Sub

ERRORHAND:
 MsgBox "Unknown Error", vbOKOnly, "ERROR:"
End Sub

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X