2 façons intelligentes de trier une colonne de textes par longueur dans votre mot

Partage maintenant:

Dans l'article d'aujourd'hui, nous allons vous montrer 2 façons intelligentes de trier une colonne de textes par longueur dans votre Word.

Il existe plusieurs façons de trier une colonne de textes ou de nombres dans un tableau. Mais avez-vous déjà pensé à trier une colonne de textes par longueur ? Dans ce cas, la mise en page de votre document sera plus claire et facile à lire.

Cependant, il n'existe aucun moyen direct dans Word pour nous de trier dans cette règle. Par conséquent, nous devons rechercher des solutions de contournement pour résoudre le problème.Trier une colonne de textes par longueur

Méthode 1 : Utiliser Word VBA

Par exemple, disons que nous avons un tableau comme ci-dessous :Table d'origine

  1. Avant toute chose, dans Word, appuyez sur « Alt+F11 » pour lancer l'éditeur VBA.
  2. Allez créer un nouveau module en cliquant sur "Normal" dans la colonne de gauche.
  3. Cliquez ensuite sur l'onglet "Insérer" et choisissez "Module" dans le menu déroulant.Cliquez sur "Normal" -> Cliquez sur "Insérer" -> Cliquez sur "Module"
  4. Ensuite, double-cliquez sur le module pour l'ouvrir et collez-y la macro ci-dessous :
Sub SortByWordLength()
  Dim objTable As Table
  Dim objColumnCell As Cell
  Dim objColumnCellRange As Range
  Dim objNewColumnCellRange As Range
  Dim nRowNumber As Integer
  Dim nColumnNumber As Integer
  Dim strWordLenth As String
  Dim nSortOrder As Integer
  Dim nCurrentTableIndex As Integer
  Dim nTableColumnsInCurrentTable As Integer
 
  nCurrentTableIndex = ActiveDocument.Range(0, Selection.Tables(1).Range.End).Tables.Count
  nTableColumns = ActiveDocument.Tables(nCurrentTableIndex).Columns.Count

  nColumnNumber = InputBox("Enter the column number you want to sort", "Column Number", "For example:2")
 
  If nColumnNumber > 0 And nColumnNumber <= nTableColumns Then
    nSortOrder = InputBox("Choose the sort order:" & vbNewLine & "If you want to sort by descending, click 1" & vbNewLine & "If you want to sort by ascending, click 0", "Sort Order", "For example:1")

    If nSortOrder = 1 Or nSortOrder = 0 Then
      '  Add a new column to put the word length of the specified column. 
      Set objTable = ActiveDocument.Tables(nCurrentTableIndex)
      objTable.Columns.Add BeforeColumn:=objTable.Columns(nColumnNumber)
      nRowNumber = 1

      For Each objColumnCell In objTable.Columns(nColumnNumber + 1).Cells
        Set objColumnCellRange = objColumnCell.Range
        objColumnCellRange.MoveEnd Unit:=wdCharacter, Count:=-1
        Set objNewColumnCellRange = objTable.Cell(nRowNumber, nColumnNumber).Range
        objNewColumnCellRange.MoveEnd Unit:=wdCharacter, Count:=-1
 
        strWordLenth = Len(objColumnCellRange.Text)
 
        objNewColumnCellRange.InsertAfter (strWordLenth)
 
        nRowNumber = nRowNumber + 1
      Next objColumnCell
 
      objTable.Select
 
      '  Sort by the word length. 
      Selection.Sort ExcludeHeader:=True, FieldNumber:="Column " & nColumnNumber, SortFieldType:= _
        wdSortFieldNumeric, SortOrder:=nSortOrder, FieldNumber2:="", _
        SortFieldType2:=wdSortFieldAlphanumeric, SortOrder2:=wdSortOrderAscending _
      ,  FieldNumber3:="", SortFieldType3:=wdSortFieldAlphanumeric, SortOrder3:= _
        wdSortOrderAscending, Separator:=wdSortSeparateByCommas, SortColumn:= _
        False, CaseSensitive:=False, LanguageID:=wdEnglishUS, SubFieldNumber:= _
        "Paragraphs", SubFieldNumber2:="Paragraphs", SubFieldNumber3:="Paragraphs"
 
      objTable.Columns(nColumnNumber).Delete
 
    Else
      MsgBox ("Invalid sort type, please try again")
    End If
  Else
    MsgBox ("Invalid column number, please try again")
  End If
End Sub

Note:

Si votre tableau ne contient aucune ligne d'en-tête, vous devez modifier la ligne de code suivante :

Selection.Sort ExcludeHeader:=True

Remplacez "Vrai" par "Faux".

  1. Cliquez ensuite sur "Exécuter".Coller les codes-> Cliquez sur "Exécuter"
  2. Ensuite, dans la première case ouverte, entrez le numéro de la colonne cible, par exemple « 2 » pour la deuxième colonne.
  3. Cliquez sur OK".Entrez le numéro de colonne-> Cliquez sur "OK"
  4. Dans la deuxième zone, entrez un nombre pour spécifier une règle de tri. « 0 » représente le tri par ordre croissant, « 1 » par ordre décroissant.
  5. De même, cliquez sur "OK".Entrez un nombre pour spécifier une règle de tri-> Cliquez sur "OK"

Vérifiez l'effet :Effect

Méthode 2 : Trier dans Excel

  1. Tout d'abord, sélectionnez le tableau dans Word et appuyez sur "Ctrl + C" pour le copier.
  2. Ensuite, ouvrez Excel et collez-le en appuyant sur "Ctrl + V". Maintenant, si votre tableau n'a pas de ligne d'en-tête, collez le tableau dans la cellule A2.
  3. Cliquez ensuite sur la lettre de la colonne. Par exemple, si la colonne C est la colonne cible, la colonne « Total » apparaîtra dans la sélection.
  4. Ensuite, faites un clic droit et choisissez "Insérer".Clic droit ->Choisir "Insérer"
  5. Il y aura une nouvelle colonne avant la colonne C. Positionnez le curseur sur la deuxième cellule de la nouvelle colonne.
  6. Entrez "=NBCAR(C2)" dans la cellule B2. N'oubliez pas de remplacer le "C" par un vrai.
  7. Placez ensuite le curseur dans le coin inférieur droit de la cellule B2 jusqu'à ce qu'il se transforme en croix.
  8. Double-cliquez maintenant. Vous verrez la nouvelle colonne remplie de chiffres. Il s'agit du nombre de caractères pour les textes de la colonne C.Nouvelle colonne avec numéros de caractères
  9. Entrez ce que vous voulez dans la cellule B1. Ne le laissez pas vide.
  10. Placez le curseur dans n'importe quelle cellule de la colonne B qui contient un nombre.
  11. Cliquez sur l'onglet "Accueil" et cliquez sur "Trier et filtrer".
  12. Dans le menu déroulant, choisissez "Trier du plus petit au plus grand" ou "Trier du plus grand au plus petit".Cliquez sur "Accueil" -> Cliquez sur "Trier et filtrer" -> Choisissez une règle de tri
  13. Enfin, sélectionnez la colonne nouvellement insérée et faites un clic droit pour choisir "Supprimer". Et collez le tableau dans le document Word.

Réparer les documents corrompus

Pensez-vous que vos documents stockés sur ordinateur sont en sécurité ? Même si vous protégez votre ordinateur contre les attaques, le risque de perte de documents existe toujours. Gardez donc à l’esprit que vos fichiers ne sont peut-être pas totalement à l’abri. Par conséquent, procurez-vous un système de sauvegarde. récupération docx outil à l'avance serait un bon choix.

Introduction de l'auteur:

Vera Chen est une experte en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris xl endommagé et pdf réparer les produits logiciels. Pour plus d'informations, visitez www.datanumen.com

Partage maintenant:

Les commentaires sont fermés.