Note: The other languages of the website are Google-translated. Back to English

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

Le 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

 

Commentaires (18)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Ceci est absurde. Tant de code pour effectuer une simple tâche d'inversion de la chaîne ? :o Seule la fonction de 3 lignes doit être ajoutée dans le module comme ci-dessous : Function strrev(strValue As String) strrev = StrReverse(strValue) End Function Maintenant, la formule =strrev(A1) peut être utilisée dans une feuille Excel. Cela fonctionne puisque StrReverse est une fonction intégrée de VBA. :RÉ
Vineet
Ce commentaire a été minimisé par le modérateur sur le site
Un autre... 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
Faseeh
Ce commentaire a été minimisé par le modérateur sur le site
Désolé un peu d'édition 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 Fonction de fin
Faseeh
Ce commentaire a été minimisé par le modérateur sur le site
Salut à tous, j'ai essayé cette fonction: 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) Pour chaque Rng dans 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 mais quand je l'ai exécuté avec des nombres, il a supprimé tous les zéros. Connaissez-vous une fonction qui ne supprime pas les zéros ? Merci!!
Dommage
Ce commentaire a été minimisé par le modérateur sur le site
Utilisez le code de fonction de Vineet comme module et lorsque vous utilisez la formule, utilisez cette astuce : =strrev(""&D9&"") où D9 contient le nombre. Le code VBA de Vineet pour cette fonction est : Function strrev(strValue As String) strrev = StrReverse(strValue) End Function
Farhan
Ce commentaire a été minimisé par le modérateur sur le site
Utilisez ceci..mettez votre entrée dans A1 alors la sortie sera dans 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").Valeur = xlen Range("D1").Valeur = xvalue End Sub
Emma
Ce commentaire a été minimisé par le modérateur sur le site
Je remarque que beaucoup de gens réinventent la roue en faisant des commandes gauche, droite, VB6 prend en charge l'inversion de chaîne SYNTAXE : strRevese("String") c'est tout ce dont vous avez besoin & X).Select stCellValue = Range("A" & X).Value stCellValue = StrReverse(stCellValue) Range("A" & X).Value = stCellValue Next i Une autre astuce serait de pré-remplir les zéros, si les valeurs moins de 1 mais doit être dans un format d'heure tel que "5:10:10" plutôt que "01:24:10" intMins = 1 stMinutes = right("24" & intMins, 1) result = 00
Développeur VB
Ce commentaire a été minimisé par le modérateur sur le site
merci c'est vraiment utile pour moi :roll:
asb
Ce commentaire a été minimisé par le modérateur sur le site
Salut, je voudrais inverser les dates. 20/11/2015 au 2015/11/20 Une aide ? Merci
CHARL
Ce commentaire a été minimisé par le modérateur sur le site
Pour les dates, tout ce que vous avez à faire est de changer le format de la cellule au format requis. Faites un clic droit sur la cellule que vous souhaitez inverser et sélectionnez le format de cellule. Sélectionnez Date dans la section des catégories et modifiez l'emplacement où que vous soyez aux États-Unis, en République tchèque ou dans un autre pays susceptible d'utiliser le format qui vous intéresse. Choisissez ensuite celui qui correspond à vos besoins.
Gaston
Ce commentaire a été minimisé par le modérateur sur le site
salut à tous, je n'ai pas Kutools pour inverser un caractère de texte, si quelqu'un a ces outils et veut m'aider, s'il vous plaît envoyez-moi un email pour vous envoyer mon fichier pour l'inverse. mon email est: [b][b]mohanned1@windowslive.com[/b][/b] en ce qui concerne,
Mohanned Tayyeb
Ce commentaire a été minimisé par le modérateur sur le site
veuillez suivre les instructions données par le site Web du bureau étendu après avoir effectué une recherche avec google par chaîne inversée dans Excel.
Chan royal
Ce commentaire a été minimisé par le modérateur sur le site
Il est possible d'inverser le texte à l'aide d'une formule, il est répétitif et limité à la distance à laquelle vous êtes prêt à aller et sous réserve du nombre de caractères qu'Excel autorisera dans la barre de formule. La longueur maximale du texte sera de 30 caractères et se trouve dans la cellule A1. La cellule B1 se lirait : =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(GAUCHE(A1&REPT(" ",31),31),27,1)&MID(GAUCHE(A1&REPT(" ",31),31),26,1 ,1)&MID(GAUCHE(A31&REPT(" ",31),25,1),1)&MID(GAUCHE(A31&REPT(" ",31),24,1),1)&MID(GAUCHE(A31&REPT(" ", 31),23,1),1)&MID(GAUCHE(A31&REPT(" ",31),22,1),1)&MID(GAUCHE(A31&REPT(" ",31),21,1),1)&MID( GAUCHE(A31&REPT(" ",31),20,1),1)&MID(GAUCHE(A31&REPT(" ",31),19,1),1)&MID(GAUCHE(A31&REPT(" ",31),18,1) ,1)&MID(GAUCHE(A31&REPT(" ",31),17,1),1)&MID(GAUCHE(A31&REPT(" ",31),16,1),1)&MID(GAUCHE(A31&REPT(" ",31),15,1),1)&MID(GAUCHE(A31&REPT(" ",31),14,1),1)&MID(GAUCHE(A31&REPT(" ",31),13,1),1) &MID(GAUCHE(A31&REPT(" ",31),12,1),1)&MID(GAUCHE(A31&REPT(" ",31),11,1),1)&MID(GAUCHE(A31&REPT(" ",31), 10,1),1)&MID(GAUCHE(A31&REPT(" ",31),9,1),1)&MID(GAUCHE(A31&REPT(" ",31),8,1),1)&MID(GAUCHE(A31&REPT (" ",31),7,1),1)&MID(GAUCHE(A31&REPT(" ",31),6,1),1)&MID(GAUCHE(A31&REPT(" ",31),5,1),1, 31)&MID(GAUCHE(A31&REPT(" ",4,1),1),31)&MID(GAUCHE(A31&REPT(" ",3,1),1),31)&M ID(LEFT(A31&REPT(" ",2,1),1),31)&MID(LEFT(A31&REPT(" ",1,1),1),1)) Résultat : A1 : Duncan Sullivan-Shaw B31 : wahS -navilluS nacnuD Fondamentalement, votre texte dans la cellule A1 devient long de 1 caractères en ajoutant suffisamment d'espaces pour permettre cela, et chaque caractère est lu singulièrement de droite à gauche jusqu'à ce que vous atteigniez le premier caractère. Cela se traduira par votre texte inversé contenant des espaces de début, que la commande TRIM supprime pour vous. Pour réduire ou augmenter la longueur, vous devez supprimer ou ajouter chaque instruction. Le nombre dans l'instruction REPT doit être supérieur de XNUMX à la longueur maximale sur laquelle vous travaillez et votre première instruction MID commencera à la longueur maximale jusqu'à XNUMX.
Duncan Sullivan Shaw
Ce commentaire a été minimisé par le modérateur sur le site
J'ai trouvé que le Sub original donnait les résultats avec un soupir supplémentaire à la fin de toutes les cellules sélectionnées. J'ai donc corrigé cette partie. 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
piphat
Ce commentaire a été minimisé par le modérateur sur le site
Est-il possible de démarrer l'inverse à une certaine longueur de caractères (pour la fonction définie par l'utilisateur ou le code VBA) ? Par exemple, inversez les valeurs de la cellule A1 en commençant après le nombre de caractères égal à la valeur B1. Donc, si B1 est de 10 caractères, l'inverse commencera aux caractères 11+ dans A1.
bétail
Ce commentaire a été minimisé par le modérateur sur le site
Merci beaucoup. Ce code a aidé mon ami d'une très bonne manière
Huda
Ce commentaire a été minimisé par le modérateur sur le site
génial très utile merci pour le partage des détails
PRaveen Soni
Ce commentaire a été minimisé par le modérateur sur le site
C'est vraiment une grande aide ... Merci beaucoup
Taeja
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0  Personnages
Emplacements suggérés