Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
INSCRIPTION  \/ 
x

or

Comment inverser l'ordre des chaînes de texte ou des mots dans Excel?

Lorsque vous utilisez la feuille de calcul Excel, comment inverser la chaîne de texte ou l'ordre des mots dans Excel? Par exemple, vous souhaitez inverser "Excel est un outil utile pour nous"Pour"su rof loot lufesu a si lecxE». Ou parfois, vous pouvez inverser l'ordre des mots tels que "Excel, Word, PowerPoint, OneNote"Pour"OneNote, PowerPoint, Word, Excel». Normalement, il est quelque peu difficile de résoudre ce problème. Veuillez regarder les méthodes suivantes:

Inverser la chaîne de texte avec la fonction définie par l'utilisateur

Inverser l'ordre des mots séparés par un séparateur spécifique avec le code VBA

Inverser l'ordre des chaînes de texte ou des mots avec Kutools for Excel rapidement et facilement


flèche bleue bulle droite Inverser la chaîne de texte avec la fonction définie par l'utilisateur

Supposons que vous ayez une plage de chaînes de texte que vous souhaitez inverser, telles que "ajouter des zéros non significatifs dans Excel"Pour"lecxE ni sorez gnidael dda». Vous pouvez inverser le texte en procédant comme suit:

1. Maintenez le ALT + F11 clés, et il ouvre le Microsoft Visual Basic pour applications fenêtre.

2. Cliquez insérer > Moduleet collez la macro suivante dans le Modulefenêtre.

Function Reversestr(str As String) As String
    Reversestr = StrReverse(Trim(str))
End Function

3. Et puis enregistrez et fermez ce code, revenez à la feuille de calcul et entrez cette formule: = reversestr (A2) dans une cellule vide pour mettre le résultat, voir capture d'écran:

4. Faites ensuite glisser la poignée de remplissage vers le bas pour copier cette formule, et le texte dans les cellules est vénéré à la fois, voir capture d'écran:


flèche bleue bulle droite Inverser l'ordre des mots séparés par un séparateur spécifique avec le code VBA

Si vous avez une liste de mots de cellule séparés par des virgules comme ceci "enseignant, médecin, étudiant, ouvrier, chauffeur", Et vous souhaitez inverser l'ordre des mots comme ceci"conduire, ouvrier, étudiant, médecin, enseignant». Vous pouvez également utiliser Follow VBA pour le résoudre.

1. Maintenez le ALT + F11 clés, et il ouvre le Microsoft Visual Basic pour applications fenêtre.

2. Cliquez insérer > Moduleet collez la macro suivante dans le Module fenêtre.

Sub ReverseWord()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Sigh As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Sigh = Application.InputBox("Symbol interval", xTitleId, ",", Type:=2)
For Each Rng In WorkRng
    strList = VBA.Split(Rng.Value, Sigh)
    xOut = ""
    For i = UBound(strList) To 0 Step -1
        xOut = xOut & strList(i) & Sigh
    Next
    Rng.Value = xOut
Next
End Sub

3. Puis appuyez F5 clé, une boîte de dialogue s'affiche, veuillez sélectionner une plage avec laquelle travailler. Voir la capture d'écran:

4. Et puis appuyez sur Ok, une autre boîte de dialogue apparaît pour vous permettre de spécifier le séparateur sur lequel vous souhaitez inverser les mots, voir capture d'écran:

5. Puis clique OK, et vous pouvez voir que les mots sélectionnés sont inversés, voir les captures d'écran:


flèche bleue bulle droite Inverser l'ordre des chaînes de texte ou des mots avec Kutools for Excel rapidement et facilement

L'équipe de Kutools pour Excel's Ordre du texte inversé peut vous aider à inverser rapidement et facilement diverses chaînes de texte. Il peut effectuer les opérations suivantes:

Inversez le texte de droite à gauche, par exemple "touchez quelques mots"Pour"sdrow emos tap";

Les textes inversés sont séparés par un espace ou d'autres caractères spécifiques, tels que "raisin orange pomme"Pour"raisin orange pomme";

Kutools pour Excel : avec plus de 300 compléments Excel pratiques, essai gratuit sans limitation en 30 jours

Inversez le texte de droite à gauche:

1. Sélectionnez la plage que vous souhaitez inverser.

2. Cliquez Kutools > Outils de texte > Ordre du texte inversé, voir capture d'écran:

3. Dans le Reverse Text boîte de dialogue, sélectionnez l'option appropriée dans Séparateur qui correspondent aux valeurs de cellule. Et vous pouvez prévisualiser les résultats de la Volet de prévisualisation. Voir la capture d'écran:

 Téléchargez et essayez gratuitement Kutools for Excel Now!


Inverser le texte sont séparés par un espace ou d'autres caractères spécifiques:

Cette fonctionnalité peut également vous aider à inverser les chaînes de texte qui sont séparées par des caractères spécifiques.

1. Sélectionnez les cellules et appliquez cet utilitaire en cliquant sur Kutools > Texte > Ordre du texte inversé.

2. Dans le Reverse Text boîte de dialogue, choisissez le séparateur qui sépare les valeurs de cellule sur lesquelles vous souhaitez inverser les mots, voir capture d'écran:

3. Puis clique Ok or Appliquer, les mots dans les cellules ont été inversés à la fois. Voir les captures d'écran:

Notes:Vérification Ignorer le non-texte cellules pour vous empêcher d'inverser les nombres dans la plage sélectionnée.

Pour en savoir plus sur cette fonction, veuillez visiter Ordre du texte inversé.

Téléchargez et essayez gratuitement Kutools for Excel Now!


flèche bleue bulle droite Démo: chaîne de texte inversée basée sur un séparateur spécifique avec Kutools for Excel

Kutools pour Excel: avec plus de 300 compléments Excel pratiques, essai gratuit sans limitation dans 30 jours. Téléchargez et essayez gratuitement maintenant!

Article connexe:

Comment retourner le prénom et le nom dans les cellules dans Excel?


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine

 

Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Taeja · 1 years ago
    This is truly a great help ... Thank you so much
  • To post as a guest, your comment is unpublished.
    PRaveen Soni · 2 years ago
    awesome very helpful thanks for sharing the details
  • To post as a guest, your comment is unpublished.
    Huda · 3 years ago
    Thank you very much. This code helped my friend in a very good way
  • To post as a guest, your comment is unpublished.
    vee · 4 years ago
    Is it possible to start the reverse at a certain character length (for the user-defined function or VBA code)? For example, reverse cell A1 values starting after the character count equal to B1 value. So if B1 is 10 characters reverse will start at characters 11+ in A1..
  • To post as a guest, your comment is unpublished.
    piphat · 4 years ago
    I found that the original Sub gave out the results with additional sigh at the end of all selected cells. So I fixed this part.
    For i = UBound(strList) To 0 Step -1
    If i > 0 Then xOut = xOut & strList(i) & Sigh Else xOut = xOut & strList(i)
    Next
    Rng.Value = xOut
  • To post as a guest, your comment is unpublished.
    Duncan Sullivan-Shaw · 5 years ago
    It's possible to reverse text using formula, it is repetitive and limited to how far you are prepared to go and subject to number of characters excel will allow in the formula bar.

    Max length of text will be 30 chars and is in cell A1. Cell B1 would read:

    =TRIM(MID(LEFT(A1&REPT(" ",31),31),30,1)&MID(LEFT(A1&REPT(" ",31),31),29,1)&MID(LEFT(A1&REPT(" ",31),31),28,1)&MID(LEFT(A1&REPT(" ",31),31),27,1)&MID(LEFT(A1&REPT(" ",31),31),26,1)&MID(LEFT(A1&REPT(" ",31),31),25,1)&MID(LEFT(A1&REPT(" ",31),31),24,1)&MID(LEFT(A1&REPT(" ",31),31),23,1)&MID(LEFT(A1&REPT(" ",31),31),22,1)&MID(LEFT(A1&REPT(" ",31),31),21,1)&MID(LEFT(A1&REPT(" ",31),31),20,1)&MID(LEFT(A1&REPT(" ",31),31),19,1)&MID(LEFT(A1&REPT(" ",31),31),18,1)&MID(LEFT(A1&REPT(" ",31),31),17,1)&MID(LEFT(A1&REPT(" ",31),31),16,1)&MID(LEFT(A1&REPT(" ",31),31),15,1)&MID(LEFT(A1&REPT(" ",31),31),14,1)&MID(LEFT(A1&REPT(" ",31),31),13,1)&MID(LEFT(A1&REPT(" ",31),31),12,1)&MID(LEFT(A1&REPT(" ",31),31),11,1)&MID(LEFT(A1&REPT(" ",31),31),10,1)&MID(LEFT(A1&REPT(" ",31),31),9,1)&MID(LEFT(A1&REPT(" ",31),31),8,1)&MID(LEFT(A1&REPT(" ",31),31),7,1)&MID(LEFT(A1&REPT(" ",31),31),6,1)&MID(LEFT(A1&REPT(" ",31),31),5,1)&MID(LEFT(A1&REPT(" ",31),31),4,1)&MID(LEFT(A1&REPT(" ",31),31),3,1)&MID(LEFT(A1&REPT(" ",31),31),2,1)&MID(LEFT(A1&REPT(" ",31),31),1,1))

    Result: A1: Duncan Sullivan-Shaw B1: wahS-navilluS nacnuD

    Basically your text in cell A1 becomes 31 characters long by adding enough spaces to enable this, and each character is read singularly from right to left until you reach the first character. This will result in your reversed text containing leading spaces, which the TRIM command removes for you. To reduce or increase the length you would remove or add each statement. The number within the REPT statement should be 1 more than the maximum length you are working to and your first MID statement will start at the maximum length working down to 1.
  • To post as a guest, your comment is unpublished.
    Mohanned Tayyeb · 5 years ago
    hi all,

    i don't have Kutools to reverse a character of text, if anybody has this tools and want to help me, please send me email to send my file to you for reverse.

    my email is: [b][b][b]mohanned1@windowslive.com[/b][/b][/b]




    with regards,
    • To post as a guest, your comment is unpublished.
      Royal Chan · 3 years ago
      please go through the instructions give by the extend office website after searching with google by reverse string in excel.
  • To post as a guest, your comment is unpublished.
    CHARL · 5 years ago
    Hi I would like to reverse Dates.

    20/11/2015 to 2015/11/20

    Any Help?

    Thanks
    • To post as a guest, your comment is unpublished.
      Gaston · 5 years ago
      For dates all you need to do is change the format of the cell to the format needed. Right click on the cell you would like to reverse and select format cell. Select Date under the category section and change the location from wherever you are to US or Czech or another country that may use the format you are interested in. Then pick the one that matches your requirements.
  • To post as a guest, your comment is unpublished.
    asb · 6 years ago
    thank you
    its really useful for me :roll:
  • To post as a guest, your comment is unpublished.
    VB Developer · 6 years ago
    I notice a lot of people are re-inventing the wheel by doing left, right commands, VB6 supports string reverse

    SYNTAX:
    strRevese("String")

    thats all you need

    Dim stCellValue, i
    For i = 1 To 5
    Range("A" & X).Select
    stCellValue = Range("A" & X).Value
    stCellValue = StrReverse(stCellValue)
    Range("A" & X).Value = stCellValue
    Next i

    Another nifty trick would be to pre-populate zeros, if values under 10 but need to be in a time format such as "10:01:24" rather than "10:1:24"

    intMins = 1
    stMinutes = right("00" & intMins, 2)

    result = 01
  • To post as a guest, your comment is unpublished.
    Emma · 7 years ago
    Use this..put your input in A1 then the output will be in B1

    Sub zzzText()

    Dim xlen, xvalue, xoutput

    xlen = VBA.Len(Range("A1"))
    xvalue = Range("A1").Value
    xoutput = ""

    For i = 1 To xlen

    GetText = VBA.Right(xvalue, 1)
    xvalue = VBA.Left(xvalue, xlen - i)
    xoutput = xoutput & GetText

    Next i

    Range("B1").Value = xoutput
    Range("C1").Value = xlen
    Range("D1").Value = xvalue

    End Sub
  • To post as a guest, your comment is unpublished.
    Danos · 7 years ago
    Hi all, i've tried this function: Sub ReverseText()
    'Updateby20131128
    Dim Rng As Range
    Dim WorkRng As Range
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
    For Each Rng In WorkRng
    xValue = Rng.Value
    xLen = VBA.Len(xValue)
    xOut = ""
    For i = 1 To xLen
    getChar = VBA.Right(xValue, 1)
    xValue = VBA.Left(xValue, xLen - i)
    xOut = xOut & getChar
    Next
    Rng.Value = xOut
    Next
    End Sub

    but when i've ran it with numbers it has deleted all the zeros.

    do you know a function that not delete zeros?

    Thanks!!
    • To post as a guest, your comment is unpublished.
      Farhan · 7 years ago
      Use Vineet's function code as a module and when using the formula, use this trick: =strrev(""&D9&"") where D9 contains the number. Vineet's VBA code for that function is:

      Function strrev(strValue As String)
      strrev = StrReverse(strValue)
      End Function
  • To post as a guest, your comment is unpublished.
    Faseeh · 7 years ago
    Sorry a little editing

    Function InvertText(str As String)
    'By Faseeh Muhammad
    Dim curr As String
    Dim m As Integer
    For m = Len(str) To 1 Step -1
    countRepp = countRepp & Mid(str, m, 1)
    Next m
    Inverttext
    End Function
  • To post as a guest, your comment is unpublished.
    Faseeh · 7 years ago
    Another one...

    Function InvertText(str As String)
    'By Faseeh Muhammad
    Dim m As Integer
    For m = Len(str) To 1 Step -1
    countRepp = countRepp & Mid(str, m, 1)
    Next m
    End Function
  • To post as a guest, your comment is unpublished.
    Vineet · 7 years ago
    This is absurd. So much code to perform just a simple task of reversing the string? :o
    Just 3 line function needs to be added in the module as below:

    Function strrev(strValue As String)
    strrev = StrReverse(strValue)
    End Function

    Now the formula =strrev(A1) can be used in Excel sheet. This works since StrReverse is an inbuilt function of VBA. :D